免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4506 | 回复: 0
打印 上一主题 下一主题

struct.unpack [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-08 10:37 |只看该作者 |倒序浏览
python代码
pack/unpack 的摸板字符字符 含义a 一个填充空的字节串   A 一个填充空格的字节串   b 一个位串,在每个字节里位的顺序都是升序   B 一个位串,在每个字节里位的顺序都是降序   c 一个有符号 char(8位整数)值   C 一个无符号 char(8位整数)值;关于 Unicode 参阅 U   d 本机格式的双精度浮点数   f 本机格式的单精度浮点数   h 一个十六进制串,低四位在前   H 一个十六进制串,高四位在前   i 一个有符号整数值,本机格式   I 一个无符号整数值,本机格式   l 一个有符号长整形,总是 32 位   L 一个无符号长整形,总是 32 位   n 一个 16位短整形,“网络”字节序(大头在前)   N 一个 32 位短整形,“网络”字节序(大头在前)   p 一个指向空结尾的字串的指针   P 一个指向定长字串的指针   q 一个有符号四倍(64位整数)值   Q 一个无符号四倍(64位整数)值   s 一个有符号短整数值,总是 16 位   S 一个无符号短整数值,总是 16 位,字节序跟机器芯片有关   u 一个无编码的字串   U 一个 Unicode 字符数字   v 一个“VAX”字节序(小头在前)的 16 位短整数   V 一个“VAX”字节序(小头在前)的 32 位短整数   w 一个 BER 压缩的整数   x 一个空字节(向前忽略一个字节)   X 备份一个字节   Z 一个空结束的(和空填充的)字节串   @ 用空字节填充绝对位置   
每个字母前面都可以跟着一个数字,表示 count(计数),解释成某种形式的重复计数或者长度,具体情况取决于格式。
character   byte order@            native=            native>          big-endian!       network=(big-endian)
下面是一些使用的例子,具体的使用,可以参考这些例子:1. 设置fomat格式,如下: # 取前5个字符,跳过4个字符华,再取3个字符 format = '5s 4x 3s'2. 使用struck.unpack获取子字符串 [color="#FF0102"]import struct print struct.unpack(format, 'Test astring') #('Test', 'ing') 来个简单的例子吧,有一个字符串'He is not very happy',处理一下,把中间的not去掉,然后再输出。 import struct theString = 'He is not very happy' format = '2s 1x 2s 5x 4s 1x 5s' print ' '.join(struct.unpack(format, theString)) 输出结果: He is very happy
3.import structk = '1234'f = struct.unpack('L', k)输出结果:(875770417,)    #/0x34333231  ASCII的4321  默认小端法
f = struct.unpack('>L', k) 输出结果:(825373492,)    #/0x31323334  ASCII的1234  大端法
f = struct.unpack('BBBB', k) 输出结果:(49,50,51,52)    #/  ASCII的1234
k = '12345'f = struct.unpack('LB', k) 输出结果:(875770417,53)    #/0x34333231  ASCII的1234 外加十进制53即ASCII的5
k = '12345'f = struct.unpack('5B', k) 输出结果:(49,50,51,52,53)    #/  ASCII的12345
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103763/showart_2113719.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP