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