查看完整版本: 如何把字符串转换成16进制数据

baoju 2007-9-27 10:25

如何把字符串转换成16进制数据

现在想把一个字符串转换成16进制的数据,以便进行tcp层数据伟输,不知用什么方法?

alomaff 2007-9-27 10:58

你是说16进制的字符串形式吗?
用 to_i 转为整数, 再 printf 是不是可以?

blackanger 2007-9-27 10:59

str.hex

"0x0a".hex     #=> 10
   "-1234".hex    #=> -4660
   "0".hex        #=> 0
   "wombat".hex   #=> 0

[[i] 本帖最后由 blackanger 于 2007-9-27 11:01 编辑 [/i]]

allan 2007-10-6 10:52

可以用以下方法解决

require 'uri'
foo = "method=addData&userId=12345678&key=data-info&data=newdata你是中国人"
escape = URI.escape(foo)
puts escape

输出结果是:
method=addData&userId=12345678&key=data-info&data=newdata%C4%E3%CA%C7%D6%D0%B9%FA%C8%CB

对于英文来说是一样的,但是对于中文会转换的。

blackanger 2007-10-6 12:53

看了楼上的回答,才知道楼主的问题是url编码,见笑了

sevk 2008-9-23 18:37

URI.encode
URI.escape
好像是同一个作用.
页: [1]
查看完整版本: 如何把字符串转换成16进制数据