Ruby 是否自动检测文件的代码页?

发布于 2024-08-14 16:12:01 字数 213 浏览 8 评论 0原文

如果保存一个带有以下字符бU+0431的文本文件,但将其另存为ANSI代码页文件。

Ruby 返回 ord = 63。使用 UTF-8 保存文件作为代码页返回 ord = 208, 177

我是否应该专门告诉 Ruby 处理使用特定代码页编码的输入?如果是这样,你该怎么做?

If a save a text file with the following character б U+0431, but save it as an ANSI code page file.

Ruby returns ord = 63. Saving the file with UTF-8 as the codepage returns ord = 208, 177

Should I be specifically telling Ruby to handle the input encoded with a certain code page? If so, how do you do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

策马西风 2024-08-21 16:12:01

这是在 ruby​​ 源代码中还是在使用 File.open 读取的文件中?如果它在 ruby​​ 源代码中,您可以(在 ruby​​ 1.9 中)将其添加到文件顶部:

# encoding: utf-8

或者您可以指定大多数其他编码(如 iso-8859-1)。

如果您正在使用 File.open 读取文件,您可以执行以下操作:

File.open("file.txt", "r:utf-8") {|f| ... }

与编码注释一样,您也可以在此处传入不同类型的编码。

Is that in ruby source code or in a file which is read with File.open? If it's in the ruby source code, you can (in ruby 1.9) add this to the top of the file:

# encoding: utf-8

Or you could specify most other encodings (like iso-8859-1).

If you are reading a file with File.open, you could do something like this:

File.open("file.txt", "r:utf-8") {|f| ... }

As with the encoding comment, you can pass in different types of encodings here too.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文