Tag Archives: Python

[转]Python使用struct处理二进制(pack和unpack用法)

转载自:http://www.cnblogs.com/gala/archive/2011/09/22/2184801.html

这篇文章写的很好,所以无耻的转了。。

有的时候需要用python处理二进制数据,比如,存取文件,socket操作时.这时候,可以使用python的struct模块来完成.可以用 struct来处理c语言中的结构体.

struct模块中最重要的三个函数是pack(), unpack(), calcsize()
# 按照给定的格式(fmt),把数据封装[......]

继续阅读

Python写UTF8文件,UE、记事本打开依然乱码的问题

现象:使用codecs打开文件,写入UTF-8文本,正常无错误。用vim打开正常,但记事本、UE等打开乱码。

原因:一般写文本时,默认是没有BOM头的,即编辑器不知道这个文本文件是神马编码,只能智能detect,这个detect有的弱有的强,比如UE、记事本就挂了,认为是ASCII格式的,于是就乱码了。

解决方法:如果为了编辑器打开正常,可以加入BOM编码。但一定要慎重,一旦加入后,头部会增加2~3个字节,如果程序再读取,显然会出错。这个如果使用UE编辑过PHP代码抓过狂的都应该懂得[......]

继续阅读

Python中的位运算操作

首先是基础的,位或(|)、位与(&)、位反(~)。

然后一些比较常用的操作,有一篇很好地Wiki,请参考:

http://wiki.python.org/moin/BitManipulation

下面照抄4个最重要的

1、二进制字符串 -> 整形:
a = int("11111111", 2)
print a
后面的2表示二进制!

2、整形 -> 二进制字符串:

Python3和Python 2.6之后有内置函数b[......]

继续阅读