老师,关于ISO8859-1的问题

来源:4-1 聊聊HTTP协议中的编码和解码(上)

姜珮瑶

2022-11-19

老师,您在“聊聊HTTP协议中的编码和解码(上)”这节课的12分24秒处提到,原话是:“因为ISO-8859-1编码范围使用了单字节内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。换言之,把其他任何编码当作ISO-8859-1来进行解码的时候,看待都没有问题,都能解开。”

我的问题是为什么把其他任何编码当作ISO-8859-1来进行解码的时候,看待都没有问题,都能解开??难道不会出现乱码吗?

写回答

1回答

风落几番

2022-11-30

我先引用维基百科的一段:

ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。

ISO-8859-1收录的字符除ASCII收录的字符外,还包括 西欧语言、希腊语、泰语、阿拉伯语、希伯来语对应的文字符号。欧元符号出现的比较晚,没有被收录在ISO-8859-1当中。

因为ISO-8859-1编码范围使用了单字节内的所有空间,在支持ISO-8859-1的系统中传输和存储其他任何编码的字节流都不会被抛弃。换言之,把其他任何编码的字节流当作ISO-8859-1编码看待都没有问题。

当然,这里指的是单字节编码,意思就是所有的单字节编码都可以当作ISO-8859-1看待,他的编码范围最大。但是如果你说会不会乱码,当然也会,因为不是所有的字符都能够被单字节编码的。比如中文,他是双字节编码的。

总体来说,你可以这么理解,所有可以用ASCII编码的字符都可以被当作ISO-8859-1看待。

0
0

大话HTTP协议 漫画+图解打造的编程基础课程

HTTP,如水如空气。漫画+图解,学习成体系。

1839 学习 · 82 问题

查看课程