Python 3.4:将ushort转换为字节
我正在尝试将ushort转换为字节。但是,当我尝试这一点时:Python 3.4:将ushort转换为字节,python,python-3.x,byte,uint16,ushort,Python,Python 3.x,Byte,Uint16,Ushort,我正在尝试将ushort转换为字节。但是,当我尝试这一点时: >>import struct >>val =struct.pack('<H',10000) b"\x10'" 这是虫子吗?或者我只是在做些傻事 我将把这些数据写入串行设备 提前感谢。这是\x27的另一种表示形式: >>> hex(ord("'")) '0x27' 转换回int表示形式不会有任何问题: >>> int.from_bytes(b"\x10'", 'li
>>import struct
>>val =struct.pack('<H',10000)
b"\x10'"
这是虫子吗?或者我只是在做些傻事
我将把这些数据写入串行设备
提前感谢。这是
\x27
的另一种表示形式:
>>> hex(ord("'"))
'0x27'
转换回int表示形式不会有任何问题:
>>> int.from_bytes(b"\x10'", 'little')
10000
b“\x10'
和b'\x10\x27'
是一回事<代码>b'\x27'==b''。尝试print(b'\x10\x27')
,您将得到b“\x10'
作为输出。这只是一个后续操作,当我尝试为串行通信编写时,它不会有任何负面影响吗?我以前在一个项目中遇到过一个问题,当我们向微控制器发送一个像“50”这样的值时,微控制器就停止响应。再次感谢,@Rawring没有任何负面影响,因为这是同一件事<代码>b'\x27'和b''
是相同的。它们只是两个不同的东西,用来写同样的东西。您可以编写0xA
、0o12
或10
来引用相同的数字。谢谢您的帮助,@poke。我不熟悉数据结构,这就是为什么我认为我的代码遗漏了一些东西。谢谢,@Moses。我只是担心当我尝试使用写数据进行串行通信时会出现问题。
>>> int.from_bytes(b"\x10'", 'little')
10000