首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

python汉字跟Unicode码(utf-8)之间的转换(Pack/Unpack)

2013-03-22 
python汉字和Unicode码(utf-8)之间的转换(Pack/Unpack)保证你要转换的字符串编码为UTF8,如果不是,请iconv

python汉字和Unicode码(utf-8)之间的转换(Pack/Unpack)

保证你要转换的字符串编码为UTF8,如果不是,请iconv cnStr成utf8

    $cnStr = "中"; //utf8的中文?//unicode$code = unpack("H6codes", $cnStr);?//汉字$cnStr = pack("H6", $code['codes']);

恩, pack/unpack很强大,, 和c语言交换数据, 二进制方式的序列化,操作二进制文件.. etc…

附上format参数的说明:

    a ?????NUL-padded string, 即"\0"作为"空字符"的表示形式A ?????SPACE-padded string, 空格作为"空字符"的表示形式h ?????Hex string, low nibble first,升序位顺序H ?????Hex string, high nibble first,降序位顺序c ?????signed char, 有符号单字节C ?????unsigned char, 无符号单字节s ?????signed short (always 16 bit, machine byte order)S ?????unsigned short (always 16 bit, machine byte order)n ?????unsigned short (always 16 bit, big endian byte order)v ?????unsigned short (always 16 bit, little endian byte order)i ?????signed integer (machine dependent size and byte order)I ?????unsigned integer (machine dependent size and byte order)l ?????signed long (always 32 bit, machine byte order)L ?????unsigned long (always 32 bit, machine byte order)N ?????unsigned long (always 32 bit, big endian byte order)V ?????unsigned long (always 32 bit, little endian byte order)f ?????float (machine dependent size and representation)d ?????double (machine dependent size and representation)x ?????NUL byte, 实际使用的时候作为跳过多少字节用,很有用X ?????Back up one byte, 后退1字节@ ?????NUL-fill to absolute position,实际使用的时候作为从开头跳到某字节用.

热点排行