python encode和decode的妙用

做网络编程的时候,经常需要把接收到的数据用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  

 

 

 

posted on 2014-04-17 19:48  molly8124  阅读(262)  评论(0编辑  收藏  举报