如何将ascii和扩展的ascii转换为c中的int

时间:2017-10-13 18:26:15

标签: 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。

1 个答案:

答案 0 :(得分:3)

OP'平台正在使用基本编码集之外的字符串文字的实现定义行为。

UTF-8编码。 '│'是Unicode字符U+2502

当编码为UTF-8时,它具有3字节序列0xE2 0x94 0x82或大端序:0xE29482,即OP打印出的14849154(十进制)。

 int b = (int) '│';

注意:ASCII仅针对代码0到127进行定义。