Ruby将十六进制转换为字符并打印(Unicode希伯来语)

时间:2011-01-15 18:53:23

标签: ruby unicode character hex hebrew

您好我正在开发一个需要分析希伯来字符的项目。

我有一个像这样的案例

letter = case

         when (a[0] == "1") && (a[1] == "2"): "He ה"
         ...
         end

p letter 

=> "He ה"

我还要从Unicode十六进制数字(对于He 05D4)打印希伯来字符,如下所示:

letter = case
         when (a[0] == "1") && (a[1] == "2"): "\05D4 He ה" 
         ...
         end

p letter 

Desired output => "ה He ה"
Actual output => "\005D4 He ה"

Ruby 1.8.8。 $ KCODE =“u”设置在代码之上。

我需要做什么?我尝试了一些不同的东西但无济于事(例如,['05D5'.hex] .pack(“C”))=>错误char超出范围

提前致谢。

1 个答案:

答案 0 :(得分:0)

唯一的问题是你的调试代码。 Kernel#p写入对象 .inspect,这可能有点太难以向您展示内部结构。

只需使用像puts这样的真实I / O方法,我想你会没事的。