python编程之字符串转处理

比如255的16进制是FF。

 

转换成整型就是  int("FF",16)   console上输出就是255   int("FFFF",16)就是65535

 

如果是C语言在字符串里面放入二进制的值并编入内存可以这样  char hex[] = "\x3C\xFF\xB0"   一般我们接触过底层的可以用这样写入机器码到内存中。python也可以。是这样:

hex = "\x3C\xFF"   就是这样形式。

如果是读取二进制文件,这个二进制文件,用16进制编辑器比如WinHex之类的打开的文件是这样:

FF 4C B0 CC 3C 3C

 

那么用python读入这6个字节

file = open("file_path","rb")

data = file.read(6)

print data == "\xFF\x4C\xB0\xCC\x3c\x3C"    这个输出True  "\xFF\x4C\xB0\xCC\x3c\x3C"与“FF4CBOCC3C3C”是不一样的。这两者的转换可以用encode("Hex")和decode("Hex")来实现。

 

比如"\xFF\x4C\xB0\xCC\x3c\x3C"转换到“FF4CBOCC3C3C”  就可以是"\xFF\x4C\xB0\xCC\x3c\x3C".encode("Hex")。

 

所以int("\xFF\xFF".encode("hex"),16) 就输出65535

 

posted @ 2015-06-10 14:11  foo__hack  阅读(326)  评论(0编辑  收藏  举报