在Ruby中 - 编码是什么?

时间:2012-12-08 16:05:31

标签: ruby character-encoding

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

2 个答案:

答案 0 :(得分:5)

字符编码的含义是描述计算机如何用二进制表示字符的系统。

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

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

因此,假设您告诉计算机在Windows-1252中读取文件,但该文件实际上编码为UTF-8。该文件只包含一个字符,例如ä。由于文件是UTF-8,因此文件实际上包含位0xC3 0xA4。现在因为您(隐式或显式地)告诉计算机在Windows-1252中读取文件,您实际上会看到ä而不是ä

答案 1 :(得分:4)

编码是一种将一些字节序列转换为文本的方法。 ASCII是每个字符有一个字节的地方。 UTF-8是另一种常见的,它使用可变数量的字节来编码更大的字符集。当然,Character Encoding on Wikipedia可能是一个有用的阅读。