Ruby:从代码点生成一个utf-8字符作为字符串

时间:2011-12-13 12:10:01

标签: ruby utf-8

我需要在文件中写入所有utf-8字符。我将所有代码都作为字符串“5363”或“328E”,但我无法将其添加到\ u,以构建结构,如“\ u5363”。请帮帮我。

1 个答案:

答案 0 :(得分:5)

(如果您使用ruby 1.9或更新版本,这将有效)

#irb -E utf-8
irb(main):032:0> s=""
=> ""
irb(main):033:0> i=0x328e
=> 12942
irb(main):034:0> s<<i
=> "㊎"
irb(main):036:0> s<<0x5363
=> "㊎卣"

适用于您的情况:

my_char_codes = ["5363","328E"]
s = ""
my_char_codes.each{ |c| s << c.to_i(16) }

# now s contains "㊎卣"