Python2.7.6优化将big-endian字节打包到字符串中的代码

2024-04-25 01:52:42 发布

您现在位置:Python中文网/ 问答频道 /正文

import struct

    varA['Z']['value'] = 8700
    varA['Y']['value'] = 8800
    varA['X']['value'] = 8900
    varA['W']['value'] = 8800
    varA['V']['value'] = 8700
    varB = ""
    varC = ""
    for name in 'Z Y X W V'.split(' '):
     varB = C[name]['value']
     varC += str(struct.pack('>h',varB))
    print varC[:-1] + '\n'

我需要的是一个字节串, 其中每个数字是一个有符号的int16大端字节。在

这里的代码适用于我想做的事情,但我知道 有一个更优雅的解决方案。在

我不会花时间优化varA 只在那里设置代码,不会在我的项目中使用。 另外,打印也是为了设置问题,我实际上 将字节作为套接字发送。在

最初我在数组中有几次,但是当我转换 数组到bytearray,我一直遇到0x00混合在一起。 与struct相同,正如您在我的解决方案中看到的,删除 0x00结束。在


Tags: 代码nameinimportfor字节value数组