"); //-->
在Python中,str(字符串)、bytes(字节序列)以及十六进制字符串
(通常以字符串形式存在,但内容表示十六进制数)之间的转换是非常常见的操作。
这里将详细说明它们之间的转换方法。
1. str 到 bytes 的转换
要将str(字符串)转换为bytes(字节序列),可以使用str的.encode()方法。
这个方法默认使用UTF-8编码将字符串转换成字节序列。
s = "hello"
b = s.encode('utf-8') # 使用UTF-8编码
print(b) # 输出: b'hello'
如果字符串包含非ASCII字符,确保使用正确的编码以避免UnicodeEncodeError。
2. bytes 到 str 的转换
将bytes(字节序列)转换回str(字符串),可以使用bytes的.decode()方法。
这个方法默认也使用UTF-8编码。
b = b'hello'
s = b.decode('utf-8')
print(s) # 输出: hello
如果bytes数据不是用UTF-8编码的,你需要指定正确的编码来避免UnicodeDecodeError。
3. str 表示的十六进制字符串到 bytes 的转换
如果有一个十六进制字符串(即,字符串中的字符是十六进制数,如"48656c6c6f"表示"hello"),可以使用bytes.fromhex()方法将其转换为bytes。
hex_str = "48656c6c6f"
b = bytes.fromhex(hex_str)
print(b) # 输出: b'hello'
4. bytes 到 十六进制字符串(str)的转换
将bytes转换为十六进制字符串,可以使用bytes的.hex()方法。
b = b'hello'
hex_str = b.hex()
print(hex_str) # 输出: 48656c6c6f
总结
使用.encode()将str转换为bytes。
使用.decode()将bytes转换为str。
使用bytes.fromhex()将十六进制字符串(str)转换为bytes。
使用.hex()将bytes转换为十六进制字符串(str)。
注意:在进行编码和解码操作时,应确保使用正确的字符编码(如UTF-8),
以避免出现编码错误。
————————————————
原文链接:https://blog.csdn.net/AOMGyz/article/details/140373240
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
相关推荐
编程语言榜单:C++首次超越C,仅次榜首Python
2月编程语言榜单:Go首度进入前十名
python2.7.3
TPYBoardv102+v202家庭无线温湿度检测
HTTP接口自动化测试方法研究
Python CMOS传感器演示
Python玩转硬件:TPYBoard-Micropython开发板大盘点
简明python 教程
SLiCAP模拟电路设计简介
无需套接字,使用VXI11(LXI)和Python进行LAN控制
使用Python语言通过SDG X系列发生器LAN口配置基本波形
如何在Raspberry Pi中使用Python
如何只使用手势绘制3D图像
TFLite模型终极开盲盒来啦!
使用Python和Anaconda平台启用面部检测
TPYBoardv102+v202家庭无线温湿度检测
使用Python进行SDS示波器屏幕图像捕获
泰克推出面向测试和测量仪器的开源Python原生驱动程序包
在Ubuntu上安装2024.2版本AMD FPGA工具集的参考指南
蓝牙模块强化Canvas软件套件支持,快速构建低功耗蓝牙应用
《Python游戏编程入门》配套源文件
Python示例:使用16-bit垂直分辨率的SDG2000X / SDG6000X构建任意波形
如何使用BleuIO加密狗创建实时macOS菜单栏应用程序
资料
【求助】用python写了一个闹钟,在树莓派上没有声音