今天为大家分享一篇Python 十六进制整数与ASCii编码字符串相互转换方法,具有很好的参考价值,希望对大家有所帮助。
前言:
在使用Pyserial与STM32进行通讯时,遇到了需要将十六进制整数以Ascii码编码的字符串进行发送并且将接收到的Ascii码编码的字符串转换成十六进制整型的问题。查阅网上的资料后,均没有符合要求的,遂结合"各家"之长,用了以下方法。
提示:环境是(Python2.7 + Binascii模块)
十六进制整数转ASCii编码字符串:
测试结果:
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交流群:877562786(群里含大量学习资料,面试宝典等)