Encoding ASCII兼容字符和非兼容字符编码

Encoding ASCII兼容字符和非兼容字符编码,encoding,ascii,Encoding,Ascii,什么是与ASCII不兼容的字符编码示例?为什么不兼容 另外,还有哪些编码与ASCII向上兼容(除了UTF和ISO8859,我已经知道了),原因是什么?有一些基于EBCDIC的编码与ASCII不兼容。例如,我最近遇到一封使用CP1026编码的电子邮件,又名CP1026。如果您查看其字符表,字母和数字的编码偏移量与ASCII非常不同。这让我的电子邮件解析器崩溃了,特别是因为LF在ASCII中被编码为0x25,而不是0x0A 谢谢,还有其他前向兼容编码的例子吗?最常用的编码是完全兼容ASCII码(IS

什么是与ASCII不兼容的字符编码示例?为什么不兼容


另外,还有哪些编码与ASCII向上兼容(除了UTF和ISO8859,我已经知道了),原因是什么?

有一些基于EBCDIC的编码与ASCII不兼容。例如,我最近遇到一封使用CP1026编码的电子邮件,又名CP1026。如果您查看其字符表,字母和数字的编码偏移量与ASCII非常不同。这让我的电子邮件解析器崩溃了,特别是因为
LF
在ASCII中被编码为0x25,而不是0x0A

谢谢,还有其他前向兼容编码的例子吗?最常用的编码是完全兼容ASCII码(ISO8859-X/Latin-X、GB 18030、Big5等),或者至少大部分兼容ASCII码(SHIFT-JIS等)。EBCDIC现在很少见。Shift-JIS是一个棘手的问题,因为
¥
位于
0x5c
通常是``的位置。@CraigRinger Shift-JIS在0x7E处还有一个上划线(U+203E)字符代替了
'~'
。还有ISO-2022编码,它使用ASCII转义序列在单字节和多字节模式之间切换。你说的兼容是什么意思?阅读用一个字符集编写的文本,并用错误的字符集进行编码和阅读?还有,你所说的UTF是什么意思?如果将ASCII读取为UTF-16或UTF-32,则可能会出现解码错误。