ASCII 和 EBCDIC 系统上的 C/C++ 字符文字

问题描述 投票:0回答:1

读完 PNG 规范后,我有点惊讶。我读过字符文字应该使用二进制值进行硬编码,例如 0x41 而不是(程序员友好的)“A”。问题似乎是在具有不同底层字符集的不同系统上编译期间,字符文字的编码不同。

好吧,我问了朋友并阅读了 C++ 标准(ISO/IEC 14882:1998/e),但是如果对话取决于我用来编译的系统或者它是固定字符集(像 ASCII)曾经吗?

c++ ascii png ebcdic
1个回答
4
投票

程序员友好的版本是确保字符常量

'A'
针对目标环境正确编码的唯一方法。 使用 0x41 保证该值仅为 65。

值得庆幸的是,EBCDIC 系统很少见,而且越来越少,因此这种区别在某些方面是相当学术性的。 然而,可理解的程序是尽可能有意义且自然地编写的。 不是抽象的。

© www.soinside.com 2019 - 2024. All rights reserved.