2012-02-02 55 views
0

我在Ruby中解析了一些包含Unicode字符的文本,我想在一個輸出文件中轉錄爲ASCII值,在另一個輸出文件中轉換爲HTML編碼。是否有一種簡單的方法將文件中的非ASCII字符吐出來?例如:在Ruby中輸出唯一的unicode字符列表

\u00A0 #should become a " " in the text text file, but   in the html output file 

我要手動抄寫他們根據我的需求和希望輸出的獨特角色,我需要從我最初的輸入文件錄製列表。

感謝,

回答

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]