2005年10月15日 星期六 17:06
参考代码: >>> s = "\x31\x31\x31" >>> s '111' >>> i = 1000 >>> i 1000 >>> import struct >>> struct.pack("3si", s, i) '111\x00\xe8\x03\x00\x00' >>> pi = struct.pack("i", i) >>> pi '\xe8\x03\x00\x00' >>> struct.pack("3s4s", s, pi) '111\xe8\x03\x00\x00' >>> ps = struct.pack("3s", s) >>> ps '111' >>> pc = struct.pack("3c", s) Traceback (most recent call last): File "", line 1, in ? struct.error: char format require string of length 1 从给出的代码中可以看到,如果直接对变量s和i直接进行"3si"pack的话,pack的结果会多一个"\x00" 我目前的做法是先对i进行pack,然后再进行pack一次 这样做的情况下,对于次数较少的pack还是可以接受的,但是对于较多数据的pack,冗余的代码比较多 想直接进行"si"的一次pack搞定这个问题,怎么处理? -- My Blog >> http://leejd.cndev.org My QQ >> 9847243 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20051015/aa161ad4/attachment.html
Zeuux © 2025
京ICP备05028076号