首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Ruby中的UTF-16LE源代码?

如何使用Ruby中的UTF-16LE源代码?
EN

Stack Overflow用户
提问于 2010-11-20 18:50:30
回答 1查看 3.3K关注 0票数 3

我有以下名为test.rb编码的UTF-16LE文件

代码语言:javascript
复制
# encoding: UTF-16LE

test = "test!"
p test

使用以下命令运行它不会产生任何结果

代码语言:javascript
复制
ruby ./test.rb

我在这里错过了什么?

如果有人想知道,我之所以试图将源代码设置为UTF-16‘m编码,是因为我正在使用UTF-16’m输入和输出文件编码。我的印象是,如果在读取文件时正确设置编码,在输出时正确设置编码,并且源中有正确的# encoding:设置,那么一切都应该正常工作。如果有人认为这有什么问题(或更简单的方法),可以随时通知我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-20 20:34:44

用UTF-16编写程序,以便处理UTF-16文件,听起来就像用俄语命名变量,以便创建一个俄罗斯网站。:)

Ruby1.9支持字符串编码,James有一个关于这个主题的优秀系列文章--我认为它们是Ruby编码的参考指南。

简而言之,您可以在打开输入文件时指定它们的编码:

代码语言:javascript
复制
s = ''
File.open('utf16le.txt', 'rb:UTF-16LE') do |f| # here you set the encoding
  s = f.read
end
p s.encoding
#=> #<Encoding:UTF-16LE>
p s.length
#=> 19
p s
#=> "test\nmladen\n\u0436\u045F\u0446\u0432\u0431\n\n"

1.9 IO类的docs中也包含了所有内容:

http://ruby-doc.org/ruby-1.9/classes/IO.html

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4234368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档