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

时间:2011-06-30 06:09:40

标签: c++ compiler-construction ascii ebcdic

阅读完PNG规范后,我有点意外。我读过字符文字应该用二进制值硬编码,如0x41不在(程序员友好)'A'。问题似乎是在具有不同底层字符集的不同系统上编译时,字符文字的编码方式不同。

好吧我问过朋友并阅读了C ++标准(ISO / IEC 14882:1998 / e)但是如果对话取决于我用来编译的系统或者它是一个固定字符,我没有得到/找到答案设置(如ASCII)?

感谢您的回答。

1 个答案:

答案 0 :(得分:4)

程序员友好版本是确保为目标环境正确编码字符常量'A'的唯一方法。使用0x41可以保证该值仅为65。

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