[Python] 十六进制整数与ASCii编码字符串相互转换
2017-04-25 13:42
573 查看
在使用Pyserial与STM32进行通讯时,遇到了需要将十六进制整数以Ascii码编码的字符串进行发送并且将接收到的Ascii码编码的字符串转换成十六进制整型的问题。查阅网上的资料后,均没有符合要求的,遂结合各家之长,用了以下方法。
测试结果:
测试结果:
可以看到,以上两段小程序顺利实现了这个设计要求
环境
Python2.7 + Binascii模块十六进制整数转ASCii编码字符串
# -*- coding: utf-8 -*- import binascii #16进制整数转ASCii编码字符串 a = 0x665554 b = hex(a) #转换成相同的字符串即'0x665554' b = b[2:] #截取掉'0x' c = binascii.a2b_hex(b) #转换成ASCii编码的字符串 print("a:%x, b:%s,c:%s" %(a,b,c)) print type(a) print type(b) print type(c)
测试结果:
a:665554, b:665554,c:fUT <type 'int'> <type 'str'> <type 'str'>
ASCii编码字符串转十六进制整数
# -*- coding: utf-8 -*- import binascii c = 'fUT' e = 0 #暂存结果 for i in c: d = ord(i) #单个字符转换成ASCii码 e = e*256 + d #将单个字符转换成的ASCii码相连 print("e:%x" %e) print type(e)
测试结果:
e:665554 <type 'int'>
可以看到,以上两段小程序顺利实现了这个设计要求
相关文章推荐
- Python 十六进制整数与ASCii编码字符串相互转换方法
- Python字符串、整数、和浮点型数相互转换实例
- Python字符串、整数、和浮点型数相互转换
- 利用python中的hex()函数把整数转换成一个十六进制的字符串
- java/python中获取当前系统时间,并与字符串相互转换格式,或者转化成秒数,天数等整数
- 利用python中的hex()函数把整数转换成一个十六进制的字符串
- python列表,元组,字典和字符串之间的相互转换
- C语言实现字节流与十六进制字符串的相互转换
- JavaScript十六进制字符串和字节数组相互转换
- Python十六进制与字符串的转换
- 字节数据与十六进制的相互转换,字符串与十六进制的相互转换
- (1411)实现字符串与整数的相互转换(不使用itoa和atoi)
- python中整数,浮点数和字符串的转换
- CString,字符串,整数等相互转换方法
- 收集: python中列表,元组,字符串 相互转换, IO 数据处理,行数据切割
- 汉字字符串转换成十六进制byte数组,一个汉字存到两个byte里面,大整数存到两个byte里面
- Java整数-字节,字节-字符,字节数组-十六进制字符串转换
- C语言十六进制数据同字符串的相互转换
- java整数和字符串相互转换
- iOS十六进制和字符串的相互转换