3
我想知道是否有JavaScript的fromCharCode
函數的Ruby等價物。它所做的是將Unicode值轉換爲字符。fromCharCode等價於Ruby
這裏其返回值的JavaScript中的例子:
String.fromCharCode(72,69,76,76,79)
#=> HELLO
是否有在Ruby中的等價?
我想知道是否有JavaScript的fromCharCode
函數的Ruby等價物。它所做的是將Unicode值轉換爲字符。fromCharCode等價於Ruby
這裏其返回值的JavaScript中的例子:
String.fromCharCode(72,69,76,76,79)
#=> HELLO
是否有在Ruby中的等價?
使用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"
UPDATE
不帶參數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
# => "Ȁȁ"
沒有參數'chr'只處理8位ASCII字符,爲範圍(0..255),它會提高一個'RangeError'以外的整數。您必須將參數'Encoding :: UTF_8'傳遞給'chr'來處理Unicode字符,例如'512.chr(Encoding :: UTF_8)'。 – toro2k
@ toro2k,謝謝你的評論。我用你的評論更新了答案。 – falsetru