Hex值转换为ASCII并通过Python tk库显示。并使用Tkinter LabelFrame。
from Tkinter import *
root = Tk()
labelframe = LabelFrame(root, text="")
labelframe.pack(fill="both", expand="yes")
response = '62 F1 11 62 00 00 32 2D 31 34 45 30 39 39 2D 4D 41 30 31'
BResponse = response.replace(' ', '')
BResponse = BResponse.decode('hex')
BResponse = BResponse[3:]
left = Label(labelframe, text="ASCII Conversion::" +' '+ BResponse)
left.pack()
root.mainloop()
获取价值:仅限第一个字符。b
我期待ASCII转换b 2-14E099-MA01
tkinter是否支持ASCII值?
答案 0 :(得分:1)
问题似乎与Tkinter完全没有关系。当我打印字符串的repr
时,我得到'b\x00\x002-14E099-MA01'
,考虑到位置4和5中的两个00
字节,这似乎是正确的。如果您希望将它们渲染为空格,可以相应地替换它们:
>>> BResponse[3:].replace("\x00", " ")
'b 2-14E099-MA01'
更新:似乎存在一种误解:00
不是一个空格,而是一个NULL
字节。空格为32
,即十六进制中的20
(不要与您拥有的32
混淆,即50
,即2
。< / p>
>>> ord(" ")
32
>>> int("32", 16)
50
>>> chr(50)
'2'