标签: c ascii
有没有办法在C中使用ASCII /扩展ASCII字符的十进制值(以int为单位)(特别是扩展名)
ASCII&扩展ASCII表:http://www.theasciicode.com.ar/
我的一些代码问题示例:
int a = (int) 'a'; int b = (int) '│'; printf("%i\n", a); printf("%i\n", b);
,输出为:
97 14849154
在ASCII表中,“│”通常为179。
答案 0 :(得分:3)
OP'平台正在使用基本编码集之外的字符串文字的实现定义行为。
UTF-8编码。 '│'是Unicode字符U+2502
'│'
当编码为UTF-8时,它具有3字节序列0xE2 0x94 0x82或大端序:0xE29482,即OP打印出的14849154(十进制)。
int b = (int) '│';
注意:ASCII仅针对代码0到127进行定义。