做网络编程的时候,经常需要把接收到的数据用16进制的方式打印出来,方便查看。今天发现在Python下有这样一个简单的方法。
http://www.jb51.net/article/19846.htm
>>> "hello".encode("hex")
'68656c6c6f'
相应的还可以
>>> '68656c6c6f'.decode("hex")
'hello'
>>> print '68656c6c6f'.decode("hex")
hello
十进制与十六进制转换 http://bbs.chinaunix.net/thread-4099884-1-1.html
>>> hex(12)
'0xc'
在Python Shell里这样是可以的。
我现在需要从textedit控件里得到text文件,并将文本转换为十六进制,输出到另一个textedit里。
在执行下面语句是就会出错:
dat = hex(eval(text))
其中text是从文本框中取到的数据,我直接吧text复制为'12'也不行,但是直接在在Python shell中执行是可以的,放在整个文件中就不行。
>>> t = '12'
>>> d = hex(eval(t))
>>> d
'0xc'
>>>
python将十六进制字符串转为十进制数字 http://zhaohe162.blog.163.com/blog/static/382167972013615218281/
把十六进制的字串转为十进制数字:
Python代码
>>> print int('ff', 16)
255
把十进制数字转换为以十六进制表示之字串,可调用内置的hex()函数:
Python代码
>>> print hex(255)
0xff