fromCharCode相当于Ruby

时间:2014-01-13 09:40:53

标签: ruby character-encoding

我想知道是否存在类似于JavaScript的fromCharCode函数的Ruby等价物。它的作用是将Unicode值转换为字符。

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

String.fromCharCode(72,69,76,76,79)
#=> HELLO

Ruby中有相同的东西吗?

1 个答案:

答案 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
# => "Ȁȁ"