`
san_yun
  • 浏览: 2654767 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

python汉字和Unicode码(utf-8)之间的转换(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,实际使用的时候作为从开头跳到某字节用.
分享到:
评论

相关推荐

    PHP如何实现Unicode和Utf-8编码相互转换

    在PHP中,虽然没有直接提供用于Unicode和UTF-8之间转换的内置函数,但可以通过一些基本的位操作和字符串处理来实现转换。以下是一种简单的实现方法: 1. Unicode转换为UTF-8: - 对于每个Unicode码点,首先确定它...

    util-linux-ng-2.17源码(含fdisk)

    util-linux-ng-2.17源码(含fdisk) Here is a list of all documented files with brief descriptions: util-linux-ng-2.17.2/disk-utils/blockdev.c [code] util-linux-ng-2.17.2/disk-utils/cramfs.h [code] ...

    sap-me-pack-unpack-how-to-guide-en.pdf

    本指南旨在为用户提供关于如何在SAP Manufacturing Execution (SAP ME)系统中设置和使用Pack与Unpack功能的详细步骤。此功能主要用于处理制造过程中产品的打包与拆包操作,确保生产流程中的物流活动高效、准确地执行...

    Python库 | v8unpack-0.8.2-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:v8unpack-0.8.2-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    msgpack-python-0.4.2.tar

    >>> msgpack.unpackb(packed, encoding='utf-8') ['spam', u'egg'] You shoud use it carefully. When you use ``use_bin_type=True``, packed binary can be unpacked by unpackers supporting msgpack-2.0. To...

    lichee_20170502_1607_全志R16的linux系统编译需要改动的文件_使用parrotv1.1的内核_没有外层目录.7z

    rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ tar zxvf lichee_parrotv1.1_20161202.tar.gz rootroot@cm-System-Product-Name:/home/wwt/linux_r16$ ...Preparing to unpack .../libencode-locale-perl_...

    Python库 | fmrib_unpack-1.3.1-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:fmrib_unpack-1.3.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | fmrib-unpack-1.3.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:fmrib-unpack-1.3.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    jsse-2.0.5.jar.zip

    java.security.NoSuchAlgorithmException: SHA1PRNG SecureRandom not available at sun.security.jca.GetInstance.getInstance(GetInstance.java:142) at java.security....unpack200 jsse.pack jsse.jar

    ethminer-0.16.0.dev3

    For Maxwell 2 GPUs: There is a way of mining ETH at Win7/8/Linux speeds on Win10, by downgrading the GPU driver to a Win7 one (350.12 recommended) and using a build that was created using CUDA 6.5. ...

    moozat-pyv8-binaries-master.zip

    yV8 Binaries ============= Archive of pre-compiled PyV8 binaries, used by Emmet for Sublime Text plugin. ## Manual installation If you experience issues with automatic PyV8 download of [Emmet for ...

    linux全志R16的linux系统编译的资料_20170502_1655.7z

    KCONFIG_AUTOCONFIG=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/wwt/linux_r16/lichee/out/sun8iw5p1/linux/common/buildroot/...

    Python库 | v8unpack-0.8.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:v8unpack-0.8.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | v8unpack-0.5.1.tar.gz

    标题中的"Python库 | v8unpack-0.5.1.tar.gz"指的是一个基于Python的库,名为v8unpack,其版本号为0.5.1,并以tar.gz格式进行压缩打包。在Python中,库(Library)是预编写好的代码集合,用于扩展或增强编程功能,...

    Python中的pack和unpack的使用

    在Python编程中,`pack`和`unpack`是`struct`模块中的两个关键函数,用于处理不同数据类型的字节序列转换。这两个函数在跨语言通信、数据存储或网络传输等场景中尤其有用,因为它们可以帮助我们将Python对象转换为...

    pyv8-binaries 支持python 2、3 Linux Windows32 64

    pyv8-binaries 支持python 2、3 Linux Windows32、 64 PyV8 Binaries Archive of pre-compiled PyV8 binaries, used by Emmet for Sublime Text plugin. Manual installation If you experience issues with ...

    Python-Bits-and-Bytes

    在Python中,字符串、字节和字节数组之间的转换也需要特别注意。`str.encode()`方法用于将字符串编码为字节,`str.decode()`用于将字节解码回字符串。例如: ```python text = 'Hello, World!' encoded_text = text...

    Android boot.img解包/打包的Python脚本

    Python bootimg.py supported arguments: --cpio-list --repack-565 --repack-bootimg --repack-ramdisk --repack-rle --repack-updata --unpack-565 --unpack-bootimg --unpack-ramdisk --unpack-rle --...

Global site tag (gtag.js) - Google Analytics