Chinaunix首页 | 论坛 | 博客
  • 博客访问: 567883
  • 博文数量: 213
  • 博客积分: 6789
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-01 17:11
文章分类

全部博文(213)

文章存档

2012年(9)

2011年(62)

2010年(99)

2009年(43)

分类: Python/Ruby

2009-12-08 10:37:33

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
<          small-endian
>          big-endian
!       network=(big-endian)

下面是一些使用的例子,具体的使用,可以参考这些例子:
1. 设置fomat格式,如下: 
# 取前5个字符,跳过4个字符华,再取3个字符 
format = '5s 4x 3s'
2. 使用struck.unpack获取子字符串 
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 struct
k = '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

阅读(1164) | 评论(0) | 转发(0) |
0

上一篇:function decorate

下一篇:动态库与静态库

给主人留下些什么吧!~~