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

Hro*_*oft 2 ruby utf-8

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

zed*_*xff 5

(如果你有红宝石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
=> "??"
Run Code Online (Sandbox Code Playgroud)

对于你的情况:

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

# now s contains "??"
Run Code Online (Sandbox Code Playgroud)