python将十六进制值转换为字符串的三种方法

 更新时间:2023年07月31日 11:04:12   作者:巨量HTTP  
这篇文章主要给大家介绍了关于python将十六进制值转换为字符串的三种方法,工作内容的需要需求,经常需要使用到字符同16进制,以及各个进制之间的转换,需要的朋友可以参考下

Python 中提供了几种将十六进制值转换为字符串的方法,下面将介绍其中的三种方法。

1. 使用 bytes.fromhex() 方法

bytes.fromhex() 方法可以将十六进制字符串转换为字节串,然后再将字节串转换为字符串。例如:

hex_str = "48656c6c6f20576f726c64"
byte_str = bytes.fromhex(hex_str)
str_result = byte_str.decode("utf-8")
 
print(str_result)  # 输出:Hello World

其中,bytes.fromhex() 方法将十六进制字符串转换为字节串,byte_str.decode("utf-8") 方法将字节串转换为字符串。

需要注意的是,bytes.fromhex() 方法只能处理没有空格的十六进制字符串,如果输入的十六进制字符串包含空格,需要先将空格删除,例如:

hex_str = "48 65 6c 6c 6f 20 57 6f 72 6c 64"
hex_str = hex_str.replace(" ", "")  # 删除空格
byte_str = bytes.fromhex(hex_str)
str_result = byte_str.decode("utf-8")
 
print(str_result)  # 输出:Hello World

2. 使用 binascii.unhexlify() 方法

binascii.unhexlify() 方法可以将十六进制字符串转换为字节串,然后再将字节串转换为字符串。例如:

import binascii
 
hex_str = "48656c6c6f20576f726c64"
byte_str = binascii.unhexlify(hex_str)
str_result = byte_str.decode("utf-8")
 
print(str_result)  # 输出:Hello World

其中,binascii.unhexlify() 方法将十六进制字符串转换为字节串,byte_str.decode("utf-8") 方法将字节串转换为字符串。

需要注意的是,binascii.unhexlify() 方法只能处理没有空格的十六进制字符串,如果输入的十六进制字符串包含空格,需要先将空格删除,例如:

import binascii
 
hex_str = "48 65 6c 6c 6f 20 57 6f 72 6c 64"
hex_str = hex_str.replace(" ", "")  # 删除空格
byte_str = binascii.unhexlify(hex_str)
str_result = byte_str.decode("utf-8")
 
print(str_result)  # 输出:Hello World

3. 使用 codecs.decode() 方法

codecs.decode() 方法可以将十六进制字符串直接转换为字符串。例如:

import codecs
 
hex_str = "48656c6c6f20576f726c64"
str_result = codecs.decode(hex_str, "hex").decode("utf-8")
 
print(str_result)  # 输出:Hello World

其中,codecs.decode() 方法将十六进制字符串直接转换为字节串,byte_str.decode("utf-8") 方法将字节串转换为字符串。

需要注意的是,codecs.decode() 方法只能处理没有空格的十六进制字符串,如果输入的十六进制字符串包含空格,需要先将空格删除,例如:

import codecs
 
hex_str = "48 65 6c 6c 6f 20 57 6f 72 6c 64"
hex_str = hex_str.replace(" ", "")  # 删除空格
str_result = codecs.decode(hex_str, "hex").decode("utf-8")
 
print(str_result)  # 输出:Hello World

这三种方法都可以将十六进制值转换为字符串,选择哪一种方法取决于你的使用场景和偏好。需要注意的是,如果十六进制字符串不合法,这些方法都会抛出异常,需要对输入的十六进制字符串进行合法性检查。

附:Python -- 十六进制与字符串的相互转换

# 字符串与十六进制的转义
# coding utf-8
 
 
char =  input("请输入字符串")
_char = char.encode().hex()
print(char + " 的十六进制序列是:" + _char)
 
_char1 = bytes.fromhex(_char).decode()
print(_char + " 十六进制转字符串是 :" + _char1)

总结

到此这篇关于python将十六进制值转换为字符串的三种方法的文章就介绍到这了,更多相关python十六进制值转字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python jupyter入门教程

    python jupyter入门教程

    Jupyter Notebook是一个开源的Web应用程序,允许用户创建和共享包含代码、方程式、可视化和文本的文档,今天通过本文给大家分享python jupyter入门教程,需要的朋友一起看看吧
    2021-08-08
  • Python不改变Excel单元格样式方式—xls和xlsx两种格式

    Python不改变Excel单元格样式方式—xls和xlsx两种格式

    这篇文章主要介绍了Python不改变Excel单元格样式方式—xls和xlsx两种格式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Python自动化运维_文件内容差异对比分析

    Python自动化运维_文件内容差异对比分析

    下面小编就为大家分享一篇Python自动化运维_文件内容差异对比分析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Python turtle.shape()用法及实战案例

    Python turtle.shape()用法及实战案例

    turtle是Python自带的一个小型的绘图库,它可以帮助我们快速地绘制简单的图形,这篇文章主要给大家介绍了关于Python turtle.shape()用法及实战案例的相关资料,需要的朋友可以参考下
    2024-03-03
  • Elasticsearches之python使用及Django与Flask集成示例

    Elasticsearches之python使用及Django与Flask集成示例

    这篇文章主要为大家介绍了Elasticsearches之python使用及Django与Flask集成示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • 详解四种Python中基本形态学滤波的实现

    详解四种Python中基本形态学滤波的实现

    最基础的形态学操作有四个,分别是腐蚀、膨胀、开计算和闭计算。这篇文章主要介绍了这四种形态学滤波的实现,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-04-04
  • Python环境的安装以及PyCharm编辑器配置教程详解

    Python环境的安装以及PyCharm编辑器配置教程详解

    优质的教程可以让我们少走很多弯路,这一点毋庸置疑。这篇文章主要为大家介绍了纯净Python环境的安装以及PyCharm编辑器的配置,需要的可以参考一下
    2023-04-04
  • Python实现批量压缩图片

    Python实现批量压缩图片

    这篇文章主要为大家详细介绍了Python实现批量压缩图片的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • PySpark与GraphFrames的安装与使用环境搭建过程

    PySpark与GraphFrames的安装与使用环境搭建过程

    这篇文章主要介绍了PySpark与GraphFrames的安装与使用教程,本文通过图文并茂实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • python DES加密与解密及hex输出和bs64格式输出的实现代码

    python DES加密与解密及hex输出和bs64格式输出的实现代码

    这篇文章主要介绍了python DES加密与解密及hex输出和bs64格式输出的实现代码,代码简单易懂,非常不错对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04

最新评论