遇到如下字符串,需要轉換成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