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