我想知道是否存在类似于JavaScript的fromCharCode
函数的Ruby等价物。它的作用是将Unicode值转换为字符。
以下是JavaScript中返回值的示例:
String.fromCharCode(72,69,76,76,79)
#=> HELLO
Ruby中有相同的东西吗?
答案 0 :(得分:3)
使用Integer#chr
:
72.chr
# => "H"
[72,69,76,76,79].map{|i| i.chr }.join
# => "HELLO"
[72,69,76,76,79].map(&:chr).join
# => "HELLO"
<强>更新强>
如果没有参数chr只处理8位ASCII字符,则必须将参数Encoding::UTF_8
传递给chr才能处理Unicode字符。
512.chr
RangeError: 512 out of char range
from (irb):8:in `chr'
from (irb):8
from /usr/bin/irb:12:in `<main>'
512.chr(Encoding::UTF_8)
# => "Ȁ"
[512,513].map{|i| i.chr(Encoding::UTF_8)}.join
# => "Ȁȁ"