关于ISO8859-1使用了单字节内的所有空间
来源:4-1 聊聊HTTP协议中的编码和解码(上)

Wonwayshon
2021-01-21
ISO8859-1使用了单字节内的所有空间的特点,传输字节流不会被抛弃。这个不会被抛弃改怎么理解呢?
如果内容中含有ISO8859-1所不支持的字符那么在编码是无法对应,解码时可能乱码但是解码应该不会对内容进行修改吧?这个传输字节流抛弃的情况老师能介绍一下吗?
写回答
1回答
-
其实抛弃是一个相对形象的比喻方式,相对于其他编码,比如ASCII,是128个字符的编码,只占用了一个字节的后面7位,最前面的1位统一规定为0,编码范围为0×00-0x7F。
ISO8859-1向下兼容ASCII,编码范围是0×00-0xFF,0×00-0x7F之间完全和ASCII一致,0×80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。ISO-8859-1收录的字符除ASCII收录的字符外,还包括西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。因为ISO-8859-1编码范围使用了单字节内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。意思就是,把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题。
所以不会存在ISO8859-1所不支持的字节流,也不会对内容进行修改。当然,由于中文的存在,就可能存在无法对应上的文字符号,会出现“乱码”的情况,但是同样不会丢掉这部分内容无法转换。
00
相似问题