[Ruby] 將hex轉換成unicode

遇到如下字符串,需要轉換成human readable的格式:

raw = "兩個確認金額框中都必須有數字。例如,如果存款爲\xA5 0.03 CNY,您應該輸入03。如果存款爲\xA5 0.30 CNY,您應該輸入30。"


方法如下

raw_split = raw.split("\\x")

text = raw_split[0] + raw_split[1..-1]{ |x| [x[0,2].hex].pack("U") + x[2..-1] }.join


核心就是['a5'.hex].pack("U")

另外一種方法就是"\u{05}" ,但是使用起來會有些麻煩。


參考資料:

來自stackoverflow的答案

http://stackoverflow.com/questions/6976524/convert-unicode-codepoint-to-string-character-in-ruby

pack, unpack解析

http://shaquan6776.iteye.com/blog/348558

unicode character search

http://www.fileformat.info/info/unicode/char/search.htm

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章