首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中的uchar to ushort

python中的uchar to ushort
EN

Stack Overflow用户
提问于 2015-11-14 00:28:13
回答 1查看 627关注 0票数 3

我的标题可能看起来很奇怪,因为Python中没有uchar和ushort这样的东西,所以让我解释一下:我从批量传输中获得了一个8位数据的列表,但我需要16位的数据。因此,我这样做:

代码语言:javascript
复制
frame = dev.read(0x82, packetLength, interface, timeout) # bulk transfer
if len(frame) == packetLength
    for i in range(0, packetLength, 2):
        newFrame.append(frame[i+1]*256 + frame[i])

所以,是的,它可以工作,但它是非常慢的,我需要在树莓派上运行它…

你们中有谁知道做同样的事情的更好的方法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-14 01:45:49

使用struct,解决方案是:

代码语言:javascript
复制
import struct

frame = dev.read( ... )

fmt = "<%dH" % (len(frame) / 2)
newFrame = struct.unpack(fmt, frame)

fmt字符串说明:

  • < -数据采用小端format
  • %d -数组的大小(它修改了以下格式specifier)
  • H -格式说明符将数据解释为ushorts
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33697414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档