我在Ruby中解析一些包含Unicode字符的文本,我希望将其转录为一个输出文件中的ASCII值和另一个输出文件中的HTML编码。是否有一种简单的方法可以吐出文件中的非ASCII字符?例如:
\u00A0 #should become a " " in the text text file, but in the html output file
我将根据我的需要手动转录它们,并希望输出我需要从我的初始输入文件转录的唯一字符列表。
谢谢,
本
答案 0 :(得分:2)
有一种方法可以帮助提取字符串中的字符:
"foo\u00A0bar".chars.to_a
# => ["f", "o", "o", " ", "b", "a", "r"]
由于其中一些字符可能是多字节UNICODE字符,因此您可能希望将其扩展为字节,以便更彻底:
"foo\u00A0bar".chars.to_a.collect { |c| [ c, c.bytes.to_a ] }
# => [["f", [102]], ["o", [111]], ["o", [111]], [" ", [194, 160]], ["b", [98]], ["a", [97]], ["r", [114]]]
该数组分解用于构造该字符的特定字节。在这种情况下,不间断空格显示为" "
,但内部实际为[194, 160]
。