1857 是 A 的另一个字符代码

Is 1857 an another character code for A?

本文关键字:字符 代码 另一个 1857      更新时间:2023-10-16

以下语句打印"A"。为什么?65 不是"A"的 ASCII 代码吗?

cout<<char(1857);

1857 年会随着演员阵容转换为 65 年吗?我正在使用 get() 方法从流中读取字符int_type并获得奇怪的值,例如"A"的 1857、"B"的 1858 等等。

这是我的代码:

int ch;
while(file) // file is fstream.
{
  ch = file.get();
   cout<<char(ch)<<":"<<ch<<" ";  /*prints A:1857 B:1858 C:1859*/
}

注意:将 int 转换为字符会将其截断为 8 位,因此 1857 将转换为 65。但是为什么 get() 方法返回 1857 而不是 65?

1857 in binary 0111 0100 0001

Char 将其截断为降低8位,0100 0001二进制为 65 个字符'A'