如何在Python十六进制整数和ASCii编码的字符串之间进行转换

电脑杂谈  发布时间:2020-07-13 09:08:02  来源:网络整理

二进制转ascii转换_16进制转ascii字符 转换工具_16进制转ascii转换工具

今天,我将与您分享一种将Python十六进制整数转换为ASCii编码的字符串的方法,该方法具有很好的参考价值,希望对大家有所帮助. 让我们一起关注小编,看看

当使用Pyserial与STM32通信时,我遇到了需要发送一串以Ascii码编码的十六进制整数并将接收到的Ascii码字符串转换为十六进制整数的问题. 在Internet上检查了信息之后,没有一个满足要求,因此,与一家之主一起使用了以下方法.

环境

二进制转ascii转换_16进制转ascii转换工具_16进制转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)

16进制转ascii字符 转换工具_二进制转ascii转换_16进制转ascii转换工具

测试结果:

a:665554, b:665554,c:fUT
<type 'int'>
<type 'str'>
<type 'str'>

ASCii编码的字符串为十六进制整数

16进制转ascii转换工具_16进制转ascii字符 转换工具_二进制转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'>

16进制转ascii字符 转换工具_16进制转ascii转换工具_二进制转ascii转换

如您所见16进制转ascii转换工具,以上两个小程序成功达到了此设计要求

以上我在Python十六进制整数和ASCii编码的字符串之间的转换方法是我与您共享的所有内容. 我希望能给您参考16进制转ascii转换工具,也希望您能支持我们.

本文标题: Python十六进制整数与ASCii编码的字符串之间的转换方法


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-278669-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...