zoukankan      html  css  js  c++  java
  • Python3 字符串与hex之间的相互转换

    在字符串转换上,python2和python3是不同的,在查看一些python2的脚本时候,总是遇到字符串与hex之间之间的转换出现问题,记录一下解决方法。

    1. 在Python2.7.x上,hex字符串和bytes之间的转换是这样的:

    >>> a = 'aabbccddeeff'
    >>> a_bytes = a.decode('hex')
    >>> print(a_bytes)
    b'xaaxbbxccxddxeexff'
    >>> aa = a_bytes.encode('hex')
    >>> print(aa)
    aabbccddeeff
    >>> 

    2. 在python 3环境上,因为string和bytes的实现发生了重大的变化,这个转换也不能再用encode/decode完成,而是利用bytes.fromhex()进行转换。

    2.1 在python3.5之前,这个转换的其中一种方式是这样的,利用bytes.fromhex()加单个字符转换

     >>> a = 'aabbccddeeff'
    >>> a_bytes = bytes.fromhex(a)
    >>> print(a_bytes)
    b'xaaxbbxccxddxeexff'
    >>> aa = ''.join(['%02x' % b for b in a_bytes])
    >>> print(aa)
    aabbccddeeff
    >>> 

    2.2 到了python 3.5之后,直接用bytes.fromhex即可完成转换

    >>> a = 'aabbccddeeff'
    >>> a_bytes = bytes.fromhex(a)
    >>> print(a_bytes)
    b'xaaxbbxccxddxeexff'
    >>> aa = a_bytes.hex()
    >>> print(aa)
    aabbccddeeff
    >>> 

    参考链接:https://www.cnblogs.com/japhasiac/p/7739846.html

  • 相关阅读:
    为什么Android的图片质量会比iPhone的差?
    第二次作业-编程
    印像最深的三位老师
    c++的类型转换(转)
    SpringMVC入门详解
    java基础
    springmvc
    Maven配置下载包速度更快
    spring中的bean.xml
    pom.xml依赖
  • 原文地址:https://www.cnblogs.com/zhaijiahui/p/9597935.html
Copyright © 2011-2022 走看看