是否有有效但在 UTF-8 中不同的 ISO 8859-1 文本文件示例?
Are there examples of ISO 8859-1 text files which are valid, but different in UTF-8?
我知道 UTF-8 比 Latin-1 支持更多的字符(即使有扩展)。但是是否有文件在两者中都有效但字符不同的示例?所以本质上内容会发生变化,具体取决于您认为文件的编码方式?
我也知道 Latin-1 的一大块 1:1 映射到 UTF-8 中的同一部分。问题是:如果解释不同(不是无效,而是不同),哪些代码点可以更改值?
Unicode 是一种略微简化的字符集,而 UTF-8 是 Unicode 二进制表示的多种编码之一。
ISO-8859-1 既是字符集又是编码。
在字符集层面,ISO-8859-1是Unicode的一个子集,即每个ISO-8859-1字符也都存在于Unicode中,ISO-8859-1编码甚至等于Unicode编码点.
在编码级别,ISO-8859-1 和 UTF-8 对 ISO-8859-1 最多 127 个字符使用相同的二进制表示。但是对于 128 到 255 之间的字符,它们与 UTF-8 不同需要 2 个字节来表示它们。
示例:
Word
ISO-8859-1
UTF-8
Zürich
5a fc 72 69 63 68
5a c3 bc 72 69 63 68
Latin-1 是一种单字节编码(即 1 个字符 = 1 个字节),它使用所有可能的字节值。所以任何字节都映射到 Latin-1 中的 something。所以从字面上看,任何文件在 Latin-1 中都是“有效的”。因此,您可以将任何文件解释为 Latin-1,您将得到……结果……。
所以是的,用 Latin-1 解释任何有效的 UTF-8 文件。它在 UTF-8 和 Latin-1 中均有效。两种编码的前 128 个字符相同,并且都基于 ASCII;但如果您的 UTF-8 文件使用任何非 ASCII 字符,这些字符将被解释为乱码(但有效)Latin-1。
bytes
encoding
text
e6bc a2e5 ad97
UTF-8
漢字
e6bc a2e5 ad97
Latin-1
æ¼¢å valid but nonsensical
我知道 UTF-8 比 Latin-1 支持更多的字符(即使有扩展)。但是是否有文件在两者中都有效但字符不同的示例?所以本质上内容会发生变化,具体取决于您认为文件的编码方式?
我也知道 Latin-1 的一大块 1:1 映射到 UTF-8 中的同一部分。问题是:如果解释不同(不是无效,而是不同),哪些代码点可以更改值?
Unicode 是一种略微简化的字符集,而 UTF-8 是 Unicode 二进制表示的多种编码之一。
ISO-8859-1 既是字符集又是编码。
在字符集层面,ISO-8859-1是Unicode的一个子集,即每个ISO-8859-1字符也都存在于Unicode中,ISO-8859-1编码甚至等于Unicode编码点.
在编码级别,ISO-8859-1 和 UTF-8 对 ISO-8859-1 最多 127 个字符使用相同的二进制表示。但是对于 128 到 255 之间的字符,它们与 UTF-8 不同需要 2 个字节来表示它们。
示例:
Word | ISO-8859-1 | UTF-8 |
---|---|---|
Zürich | 5a fc 72 69 63 68 | 5a c3 bc 72 69 63 68 |
Latin-1 是一种单字节编码(即 1 个字符 = 1 个字节),它使用所有可能的字节值。所以任何字节都映射到 Latin-1 中的 something。所以从字面上看,任何文件在 Latin-1 中都是“有效的”。因此,您可以将任何文件解释为 Latin-1,您将得到……结果……。
所以是的,用 Latin-1 解释任何有效的 UTF-8 文件。它在 UTF-8 和 Latin-1 中均有效。两种编码的前 128 个字符相同,并且都基于 ASCII;但如果您的 UTF-8 文件使用任何非 ASCII 字符,这些字符将被解释为乱码(但有效)Latin-1。
bytes | encoding | text |
---|---|---|
e6bc a2e5 ad97 | UTF-8 | 漢字 |
e6bc a2e5 ad97 | Latin-1 | æ¼¢å valid but nonsensical |