Loading... # [汉字和Unicode码(utf-8)之间的转换(Pack/Unpack)](https://www.laruence.com/2008/05/01/106.html) **保证你要转换的字符串编码为UTF8,如果不是,请iconv cnStr成utf8** ```php $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,实际使用的时候作为从开头跳到某字节用. 最后修改:2023 年 08 月 28 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏