Ruby UTF-8 String to Hex String_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > Ruby UTF-8 String to Hex String

Ruby UTF-8 String to Hex String

 2011/12/14 10:08:09  trace  http://trace.iteye.com  我要评论(0)
  • 摘要:今天用Ruby通过thrift操作hbase,发现thriftapi对utf-8的支持并不好。比如我要插入一条记录,值为“中国”,我不能直接用“中国”来赋值,而是需要将”中国“转换为”\xE4\xB8\xAD\xE5\x9B\xBD“才能赋值。同理,我取数据时取到的就是“\xE4\xB8\xAD\xE5\x9B\xBD”(字面值),需要想办法转换成“中国”。将一个UTF-8编码的字符串转换为十六进制编码的二进制串,需要这么做:"中国".bytes.to_a.pack("C*"
  • 标签:Ruby
今天用Ruby通过thrift操作hbase,发现thrift api对utf-8的支持并不好。比如我要插入一条记录,值为“中国”,我不能直接用“中国”来赋值,而是需要将”中国“转换为”\xE4\xB8\xAD\xE5\x9B\xBD“才能赋值。同理,我取数据时取到的就是“\xE4\xB8\xAD\xE5\x9B\xBD”(字面值),需要想办法转换成“中国”。

将一个UTF-8编码的字符串转换为十六进制编码的二进制串,需要这么做:
"中国".bytes.to_a.pack("C*")

将一个十六进制编码的二进制串转换为UTF-8编码的字符串,需要这么做:
hexstr.scan(/..(..)/).map{|x| x[0].to_i(16)}.pack("C*")
发表评论
用户名: 匿名