在 Python 中,可以使用 struct.pack() 函数将数据打包成字节数组。以下示例演示如何将字符串 '1.0' 使用 GB2312 编码并填充为长度为 20 字节的字节数组:

import struct

a = struct.pack('20s', '1.0'.encode('gb2312').ljust(20, '\x00'))
print(a)

输出结果:

b'1.0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

解释:

  • struct.pack('20s', ...) 使用 struct.pack() 函数将数据打包成字节数组,其中 '20s' 表示将数据打包成长度为 20 字节的字符串。
  • '1.0'.encode('gb2312') 将字符串 '1.0' 使用 GB2312 编码。
  • ljust(20, '\x00') 使用 ljust() 函数将编码后的字符串填充至长度为 20 字节,不足部分使用 '\x00' 填充。

最终结果是一个长度为 20 字节的字节数组,其中包含字符串 '1.0' 使用 GB2312 编码后的字节,以及填充的零字节。

Python struct.pack() 函数用法:将字符串填充为指定长度的字节数组

原文地址: https://www.cveoy.top/t/topic/mrCr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录