Ruby 编程/参考/对象/编码
外观
编码基本上是 Ruby 1.9 中引入的一个新概念
字符串现在具有与它们关联的“一些字节”和“一些编码”。
在 1.8 中,所有字符串都只是“一些字节”(因此基本上被视为 1.9 中的 BINARY/ASCII-8BIT 编码)。您必须使用辅助库才能使用任何 m18n 风格的东西。
默认情况下,当您打开一个文件并从中读取时,它将以设置编码为的字符串读取
Encoding.default_external
(您可以更改它)。
这也意味着它会对字符串进行“一些”正确性检查,以便它们进入。
在 Windows 中,它还必须进行从“\r\n”到“\n”的转换,这意味着当您在 Windows 中以非二进制模式读取文件时,它必须首先分析传入字符串的正确性,然后(第二次)转换其行尾,因此速度会稍微慢一些。
建议 Windows 用户加载大型文件时使用 1.9.2,因为它没有那么慢。或者以二进制方式读取它们(File.binread 或 a=File.open('name', 'rb'))。