1

我试图了解 Ruby 中的编码是什么——有很多关于编码的文章,例如this onethis one。然而,他们都没有解释新手可能遇到的基本问题——首先什么编码?

4

2 回答 2

5

这里的字符编码的意思是描述计算机如何用二进制表示字符的系统。

在 UTF-8 编码中,字符ä表示为1100 0011 1010 0100,或0xC3 0xA4以十六进制表示。

在 Windows-1252 编码中,相同的字符表示为1110 01000xE4十六进制。

因此,假设您告诉计算机读取 Windows-1252 中的文件,但该文件实际上被编码为 UTF-8。该文件仅包含一个字符,例如ä. 由于该文件采用 UTF-8 格式,因此该文件实际上包含 bits 0xC3 0xA4。现在因为您告诉(隐式或显式)计算机读取 Windows-1252 中的文件,所以您实际上会ä看到ä.

于 2012-12-08T16:13:24.330 回答
4

编码是将某些字节序列转换为文本的一种方法。ASCII是每个字符有一个字节的一种。UTF-8是另一种常见的,它使用可变数量的字节来编码更大的字符集。当然,维基百科上的字符编码可能是一本有用的读物​​。

于 2012-12-08T16:12:10.727 回答