Ruby 中的 fromCharCode 等效项

Sev*_*rin 4 ruby character-encoding

我想知道 Ruby 中是否有与 JavaScript 函数等价的fromCharCode函数。它的作用是将 Unicode 值转换为字符。

下面是 JavaScript 中返回值的示例:

String.fromCharCode(72,69,76,76,79)
#=> HELLO
Run Code Online (Sandbox Code Playgroud)

Ruby 中有类似的东西吗?

fal*_*tru 6

使用Integer#chr

\n\n
72.chr\n# => "H"\n[72,69,76,76,79].map{|i| i.chr }.join\n# => "HELLO"\n[72,69,76,76,79].map(&:chr).join\n# => "HELLO"\n
Run Code Online (Sandbox Code Playgroud)\n\n

更新

\n\n

如果没有参数,chr 只能处理 8 位 ASCII 字符,必须将参数传递Encoding::UTF_8给 chr 才能处理 Unicode 字符。

\n\n
512.chr\nRangeError: 512 out of char range\n        from (irb):8:in `chr\'\n        from (irb):8\n        from /usr/bin/irb:12:in `<main>\'\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n
512.chr(Encoding::UTF_8)\n# => "\xc8\x80"\n[512,513].map{|i| i.chr(Encoding::UTF_8)}.join\n# => "\xc8\x80\xc8\x81"\n
Run Code Online (Sandbox Code Playgroud)\n