我正在visualstudio代码中使用donjayamanne的Python扩展在Windows上开发一个Python脚本。以下是我的“监视”调试窗口的内容:
字节数组someBytes的长度是20,但是Python的len函数使其变为77。为什么?你知道吗
由此生成数组:
def sendTouchDown(ble):
message = bytes([0x01, 0x68, 0x03, 0x39, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF])
if ble:
sendMuxBle(message)
else:
sendMuxRfcomm(message)
它的长度是这样测量的:
def sendMuxRfcomm(someBytes):
crc = 0xFFFF
for i in range(0, len(someBytes), 2):
这听起来像是Python2中的一个奇怪的东西,在Python3中被修复了。你知道吗
bytes
构造函数将接受传入它的任何非字符串并将其转换为字符串。因此,你的陈述在逻辑上等同于:创建如下字节文字:
当Python2.6被提议时,我回头阅读了PEP中的字节:
https://www.python.org/dev/peps/pep-0358/
它清楚地说明了建造师:
初始值设定项参数可以是字符串(在2.6中,可以是str或unicode)、整数的可数或单个整数。你知道吗
也许这是Python中的一个bug。或者在列表和字符串之间有一些类似python的东西我在这里丢失了。你知道吗
相关问题 更多 >
编程相关推荐