python–ntohll和htonll的实现(转载)

来源:互联网 发布:安全生产网络知识竞赛 编辑:程序博客网 时间:2024/05/30 05:28
可以利用python中的struct包中的如下东东进行转换:  
1、字节序:  
CharacterByte orderSize and alignment@nativenative=nativestandard<little-endianstandard>big-endianstandard!network (= big-endian)standard
2、字节数  
FormatC TypePythonNotesxpad byteno value ccharbytes of length 1 bsigned charinteger(1)Bunsigned charinteger ?_Boolbool(2)hshortinteger Hunsigned shortinteger iintinteger Iunsigned intinteger llonginteger Lunsigned longinteger qlong longinteger(3)Qunsigned long longinteger(3)ffloatfloat ddoublefloat schar[]bytes(1)pchar[]bytes(1)Pvoid *integer 
3、自定义函数  

使用struct,相当轻松

import struct  
htonll =
 lambda a:struct.unpack('!Q', struct.pack('Q', a) )[0]
ntohll = lambda a:struct.unpack('Q', struct.pack('!Q', a))[0]

0 0
原创粉丝点击