zoukankan      html  css  js  c++  java
  • 汉字和Unicode码(utf8)之间的转换(Pack/Unpack)

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

    1. $cnStr = "中"; //utf8的中文
    2.  
    3. //unicode
    4. $code = unpack("H6codes", $cnStr);
    5.  
    6. //汉字
    7. $cnStr = pack("H6", $code['codes']);

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

    附上format参数的说明:

    1. a      NUL-padded string, 即"\0"作为"空字符"的表示形式
    2. A      SPACE-padded string, 空格作为"空字符"的表示形式
    3. h      Hex string, low nibble first,升序位顺序
    4. H      Hex string, high nibble first,降序位顺序
    5. c      signed char, 有符号单字节
    6. C      unsigned char, 无符号单字节
    7. s      signed short (always 16 bit, machine byte order)
    8. S      unsigned short (always 16 bit, machine byte order)
    9. n      unsigned short (always 16 bit, big endian byte order)
    10. v      unsigned short (always 16 bit, little endian byte order)
    11. i      signed integer (machine dependent size and byte order)
    12. I      unsigned integer (machine dependent size and byte order)
    13. l      signed long (always 32 bit, machine byte order)
    14. L      unsigned long (always 32 bit, machine byte order)
    15. N      unsigned long (always 32 bit, big endian byte order)
    16. V      unsigned long (always 32 bit, little endian byte order)
    17. f      float (machine dependent size and representation)
    18. d      double (machine dependent size and representation)
    19. x      NUL byte, 实际使用的时候作为跳过多少字节用,很有用
    20. X      Back up one byte, 后退1字节
    21. @      NUL-fill to absolute position,实际使用的时候作为从开头跳到某字节用.
  • 相关阅读:
    739. Daily Temperatures
    556. Next Greater Element III
    1078. Occurrences After Bigram
    1053. Previous Permutation With One Swap
    565. Array Nesting
    1052. Grumpy Bookstore Owner
    1051. Height Checker
    数据库入门及SQL基本语法
    ISCSI的概念
    配置一个IP SAN 存储服务器
  • 原文地址:https://www.cnblogs.com/sevenyuan/p/1901769.html
Copyright © 2011-2022 走看看