使用ruby将unicode转换为字符

时间:2011-01-06 22:17:06

标签: ruby unicode cjk

我在unicode中找到了一个汉字字典。我正在尝试从这个词典中建立一个人物数据库,但我不知道如何将unicode转换为一个字符..

p "国".unpack("U*").first #this gives the unicode 22269

如何将22269转换回与上述行相反的字符值。

2 个答案:

答案 0 :(得分:15)

Ruby 1.9:

p "国".codepoints.first #=> 22269
p 22269.chr('UTF-8') #=> "国"

答案 1 :(得分:13)

[22269].pack('U*') #=> "国" or "\345\233\275"

修改:适用于1.8.6+(在1.8.6,1.8.7和1.9.2中验证)。在1.8.x中,您将获得一个表示单个Unicode字符的三字节字符串,但使用puts会导致正确的中文字符出现在终端中。