我试图了解 Ruby 中的编码是什么——有很多关于编码的文章,例如this one和this one。然而,他们都没有解释新手可能遇到的基本问题——首先什么是编码?
问问题
75 次
2 回答
5
这里的字符编码的意思是描述计算机如何用二进制表示字符的系统。
在 UTF-8 编码中,字符ä
表示为1100 0011 1010 0100
,或0xC3 0xA4
以十六进制表示。
在 Windows-1252 编码中,相同的字符表示为1110 0100
或0xE4
十六进制。
因此,假设您告诉计算机读取 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 回答