Python 将十六进制数字 ASCI 表示转换为字符串



我想让函数这样做:

#This is my imput number
MyNumberDec = 114
MyNumberHex = hex(MyNumberDec)
print (MyNumberDec)
print (MyNumberHex)
#Output looks exactly like this:
#114
#0x8a
HexFirstDigitCharacter = MagicFunction(MyNumberHex)
HexSecondDigitCharacter = MagicFunction(MyNumberHex)
#print (HexFirstDigitCharacter )
#print (HexSecondDigitCharacter )
#I want to see this in output
#8
#A

那是什么功能?

为什么我需要这个? 用于计算向某些工业设备发送消息时的校验和

例如命令 R8:

N   |   HEX |   ASC
1       52      R
2       38      8
3       38      8   
4       41      A

字节1 和 2 是命令,字节 3 和 4 是校验和 校验和的计算方法:0x52 + 0x38 = 8A 我必须发送 ASCII 8 作为第三字节,将 ASCII A 作为第四字节

也许我不需要我的魔法功能,但需要其他解决方案?

您可以使用字符串格式化程序将整数转换为不带上述'0x'的十六进制字符串:

MyNumberDec = 114
MyNumberHex = '%02x' % MyNumberDec
print(MyNumberHex[0])
print(MyNumberHex[1])

这输出:

7
2

最新更新