我无法理解如何在ascii表中表示多字节字符:十进制格式,然后是十六进制格式。
例如:
char *c = "é";
printf("%d\n%d", c[0], c[1]);
将显示:
-61
-87
在ascii表中,十进制中的“é”为130,十六进制为82。 我知道82是十六进制值130,但我们如何从-61&得到130 -87?
提前致谢并抱歉我的拼写
答案 0 :(得分:3)
根据UTF-8字符集(其中包括许多GNU / Linux发行版),'é'
字符常量的值为0xC3A9
,相当于11000011 10010101
in二进制文件。在这里我们可以理解结果,假设有两个补码表示。
11000011
等于十进制-61
。 10010101
等于十进制-87
。