首页 > 编程语言 >python之bytes与str互转

python之bytes与str互转

时间:2024-01-02 21:31:42浏览次数:41  
标签:十六进制 string python bytes fromhex 互转 byte 字节

fromhex()

bytes.fromhex() 是一个内置函数,用于从十六进制字符串创建字节串(bytes)对象。

fromhex() 方法接受一个十六进制字符串作为输入,并将其转换为对应的字节串。输入的十六进制字符串可以包含数字 0-9 和小写字母 a-f(或大写字母 A-F)。

以下是使用bytes.fromhex()的示例代码:

hex_string = "BC 10 12 34 56 78 00 E0"
byte_string = bytes.fromhex(hex_string)
print(hex_string)
print(byte_string)

输出结果:
BC 10 12 34 56 78 00 E0
b'\xbc\x10\x124Vx\x00\xe0'

在这个示例中,fromhex() 方法将十六进制字符串 “BC 10 12 34 56 78 00 E0” 转换为字节串 b'\xbc\x10\x124Vx\x00\xe0'。

请注意,fromhex() 方法返回一个字节串对象,其前缀为 b。这表示它是一个字节串而不是字符串。

hexlify()

binascii.hexlify() 是一个来自 Python 标准库中的函数,用于将字节串(bytes)转换为十六进制字符串。

hexlify() 方法接受一个字节串作为输入,并返回一个表示其十六进制表示的字符串。返回的字符串由十六进制数字和小写字母组成,每个字节对应两个字符。

以下是使用 binascii.hexlify() 的示例代码:

import binascii

hex_string = "BC 10 12 34 56 78 00 E0"
byte_string = bytes.fromhex(hex_string)


byte_string1 = binascii.hexlify(byte_string)

print(byte_string1)
print(str(byte_string1)[2:-1].upper())
输出结果:
b'bc101234567800e0' (字节串bytes)
BC101234567800E0	(字符串str)


标签:十六进制,string,python,bytes,fromhex,互转,byte,字节
From: https://blog.51cto.com/u_12891160/9073114

相关文章

  • python初试七
    前面的文章研究了Django最主要的几个方面:数据库,模板,动态生成页面等。但都是使用pythonmanage.pyrunserver来运行服务器。这是一个实验性的web服务器,不适用于正常的站点运行。我们需要一个可以稳定而持续的服务器。这个服务器负责监听http端口,将收到的请求交给Django处理,将Django......
  • Python+Selenium实现UI自动化
    自动化测试:自动化测试是把以人为驱动的测试行为转化成机器执行的一种过程,通常在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较,再此过程中,为了节省人力,时间或硬件资源,提高测试效率,便引用了自动化测试的概念Selenium:是......
  • Python爬虫 - 使用代理IP池维护虚拟用户
    在进行Web爬取时,使用代理IP是一种常见的策略,它可以帮助我们隐藏真实IP地址,绕过网站的访问限制,提高爬取效率。本文将介绍如何使用代理IP池维护虚拟用户,以在爬取过程中保持匿名性和稳定性。一、什么是代理IP池?代理IP池是一个包含多个代理IP的集合。这些代理IP通常是从公开或付费的代......
  • Python中怎么读取列表中某个值?
    Python中的列表是一种常见的数据结构,它可以存储同一类型或不同类型的数据。列表是Python中最常用的数据结构之一,可以简单地理解为一个由一系列元素组成的有序集合。那么Python中怎么读取列表中某个值?以下是具体内容介绍。1、使用in操作符Python中的in操作符可以用来检......
  • Python字符串操作:获取子序列的方法详解
    在Python中,处理字符串是一项常见的任务,其中一个常见的需求是从一个字符串中获取某一特定的子序列。这个子序列可以是一个连续的子字符串,也可以是不连续的一组字符。在这篇文章中,我们将探讨在Python中获取子序列的几种常见方法。1.切片操作Python中的切片操作是获取子序列的一种简便......
  • 使用Python找到和删除相似文件的方法
    在处理大量文件时,经常会遇到需要找到和删除相似文件的情况。本文将介绍如何使用Python编程语言来实现这一任务,以帮助提高文件管理的效率。导入必要的库我们首先需要导入以下两个Python标准库:importosimportfilecmpos库用于文件操作,包括获取文件路径、判断文件是否存在等功能。f......
  • Python爬虫技巧大全:提升效率、应对反爬与处理异常
    Python爬虫是一项强大的工具,但在实践中常常会遇到各种问题,如效率低下、反爬机制等。本文将介绍一些Python爬虫的技巧,帮助读者提升爬虫效率、应对反爬机制以及处理异常情况。一、提升爬虫效率1.使用多线程或异步编程:通过多线程或异步编程可以提高爬虫的并发性能,加快数据的获取速度。......
  • 如何用Python绘制小提琴图
    小提琴图(ViolinPlot)是一种常用的数据可视化方法,可以展示变量的分布情况,同时也能够比较不同类别之间的差异。本文将介绍如何使用Python绘制小提琴图,帮助读者更好地理解和运用这一数据可视化技巧。一、准备工作在开始绘制小提琴图之前,我们需要确保已经安装了必要的库,包括matplotlib......
  • Python库和模块的概念有何不同
     在Python编程中,我们经常听到“库”(Library)和“模块”(Module)这两个词,它们是Python程序中常用的概念。但是,它们之间有什么区别呢?本文将介绍Python中库和模块的概念、特点以及它们之间的不同之处。 一、库(Library)的概念 库指的是一组相关的模块集合,它们提供了一系列函数、类和方......
  • 实战案例!Python+SQL京东用户行为分析
    1、项目背景项目对京东电商运营数据集进行指标分析以了解用户购物行为特征,为运营决策提供支持建议。本文采用了MySQL和Python两种代码进行指标计算以适应不同的数据分析开发环境。2、数据集介绍数据集共有五个文件,包含了'2018-02-01'至'2018-04-15'之间的用户数据,数据已进行了脱敏......