答案 0 :(得分:5)
字符编码的含义是描述计算机如何用二进制表示字符的系统。
在UTF-8编码中,字符ä
以十六进制表示为1100 0011 1010 0100
或0xC3 0xA4
。
在Windows-1252编码中,相同的字符以十六进制表示为1110 0100
或0xE4
。
因此,假设您告诉计算机在Windows-1252中读取文件,但该文件实际上编码为UTF-8。该文件只包含一个字符,例如ä
。由于文件是UTF-8,因此文件实际上包含位0xC3 0xA4
。现在因为您(隐式或显式地)告诉计算机在Windows-1252中读取文件,您实际上会看到ä
而不是ä
。
答案 1 :(得分:4)
编码是一种将一些字节序列转换为文本的方法。 ASCII是每个字符有一个字节的地方。 UTF-8是另一种常见的,它使用可变数量的字节来编码更大的字符集。当然,Character Encoding on Wikipedia可能是一个有用的阅读。