什么是unsigned char 140的代码页或编码,unicode 0x0152 = 338?

时间:2012-12-05 22:20:52

标签: c visual-c++ encoding

程序员可能会阅读编码的基础知识,但我的具体问题是

在Windows Visual C输出到Windows控制台中,无符号字符值140打印为unicode 0x0152 = 338。

Visual C使用什么编码(或“代码页”?)? (例如UTF-7,ASCII)。无符号字符值140究竟是如何映射到unicode字符338?

我确信任何人都可以将链接粘贴到编码上的许多维基百科页面之一或网络上的tables,但是对这个问题的更具体的答案会很好。

1 个答案:

答案 0 :(得分:0)

那将是编码Windows-1252,而不是Visual C正在“使用”它,而是Windows控制台将输出解释为。

这个其他答案可能就是您所寻求的:What encoding/code page is cmd.exe using?

“代码页”是Microsoft的“编码字符集”一词,它或多或少等同于您所谓的“编码”,但请参阅Unicode Glossary以获得精确定义。

引用维基百科页面:

  

从历史上看,Windows中使用短语“ANSI代码页”(ACP)来引用被视为本机的各种代码页。其目的是大多数都是ANSI标准,如ISO-8859-1。尽管Windows-1252是第一个也是迄今为止最流行的代码页,在Microsoft Windows用语中命名,但代码页从未成为ANSI标准。微软附属博客现在声称“用于表示Windows代码页的术语ANSI是一个历史参考,但现在仍然是在Windows社区中持续存在的误称。”