Python str 转 byte 详解

掌握字符串与字节之间的转换,是处理文件、网络通信和数据序列化的基础。

什么是 str 和 bytes?

在 Python 3 中,str 表示 Unicode 字符串,而 bytes 表示原始的 8 位字节序列。两者不能直接互换,必须通过编码(encode)或解码(decode)进行转换。

使用 encode() 将 str 转为 bytes

最常用的方法是调用字符串的 .encode() 方法:

s = "你好,世界!"
b = s.encode('utf-8')
print(b)  # 输出: b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81'
print(type(b))  # <class 'bytes'>

常见编码格式

示例:不同编码的结果不同

text = "Python"

print(text.encode('utf-8'))   # b'Python'
print(text.encode('ascii'))   # b'Python'
print(text.encode('utf-16'))  # b'\xff\xfeP\x00y\x00t\x00h\x00o\x00n\x00'

错误处理

当字符串包含无法用指定编码表示的字符时,会抛出 UnicodeEncodeError。可通过 errors 参数处理:

s = "café"
# 忽略无法编码的字符
print(s.encode('ascii', errors='ignore'))   # b'caf'

# 替换为 ?
print(s.encode('ascii', errors='replace'))  # b'caf?'

# 使用 XML 字符引用(仅部分编码支持)
print(s.encode('ascii', errors='xmlcharrefreplace'))  # b'café'

反向操作:bytes 转 str

使用 .decode() 方法将 bytes 转回字符串:

b = b'\xe4\xbd\xa0\xe5\xa5\xbd'
s = b.decode('utf-8')
print(s)  # 输出: 你好

实际应用场景

德国Prorino水-源自阿尔卑斯的天然矿泉水 情绪探索|情绪的种类、识别与管理指南 Phyon编程-轻量、高效、现代的Python替代语言 Prorino胶囊-支持肠道健康与免疫平衡的益生菌配方 IronPython 教程-入门到实战|Python 与 .NET 的完美结合 什么是SHEIN?全面了解全球快时尚电商巨头 冠军PSY-韩国流行音乐传奇与《江南Style》现象 Pixelmon 中文专题页-宝可梦与像素世界的完美融合 Switch如何登录eShop?详细图文教程|Nintendo eShop使用指南 Python list转str:完整指南与实用技巧 冠军标志图鉴-Champion Logo Collection Pretentious原型-探索设计与概念的边界 iPhone能双开微信吗?全面解析iOS系统是否支持微信双开 One Chain 是什么意思?全面解析 One Chain 的定义、用途与未来发展 eshop怎么下载-78TP下载指南与使用教程 Pioneer是什么牌子手机?全面解析先锋手机品牌历史与现状 Pioneer怎么连接手机?详细图文教程-快速配对指南 MicroPython 教程-从入门到实战|快速上手嵌入式 Python 编程 PioneerNPV 破解版下载-功能介绍与使用指南 Shopee虾皮招聘-加入我们,共创电商未来 Python IDLE 在哪里?完整查找与使用指南 Pioneer是什么牌子的电视?品牌历史、产品特点与市场现状全解析 Pioneer DJ / Alphatheta-专业DJ设备与音频创新先锋 Python自带的IDLE怎么运行?新手入门指南 你喜欢熊猫吗?探索可爱国宝的奇妙世界 宝可梦Home手机版-收集、交换、探索你的宝可梦世界 Pioneer7LONGWENAPP-探索先锋科技,引领未来生活 iPhone 17 支持 AI 吗?最新功能与技术解析 Incotporate-探索创新与协作的未来工作方式 Python选择题练习-掌握核心语法与常见考点 Python3IDE-在线免费 Python 3 编程环境 Pinarello中文叫什么?揭秘顶级自行车品牌皮纳瑞罗 Python 中的 %s 格式化字符串详解-入门到精通 iPhone Air 配置详解|全面解析最新款 iPhone Air 规格与性能 国家开放大学在线学习平台-one.ouchn.com.cn 血管生成(Angiogenesis):机制、研究与医学应用 Python常用IDE推荐|高效开发工具指南 岩石圈(Lithosphere)-地球的坚硬外壳 Shein投资人专题-全球快时尚巨头背后的资本力量 pioneer什么意思中文-先驱者、开拓者详解 pioneer怎么读英语发音-英语单词发音指南 Moncheri是杂牌还是名牌?全面解析品牌背景与口碑 Python中int类型详解-整数数据类型指南 Python while 循环语句详解-初学者入门指南 食欲不振怎么办?原因、调理与改善建议-健康专题 港版 iPhone 能用 AI 吗?全面解析与使用指南 内啡肽至上|Endorphins Over Everything iPhone发烫怎么解决?全面降温指南|手机使用技巧 iPhone 17 Pro Max 颜色选择指南|全新配色抢先看 Evasion附魔-提升闪避能力的神秘附魔详解 Danny the Champion of the World-罗尔德·达尔经典儿童文学作品 Switch eShop进不去?常见原因与解决方法大全 iPhone日版和韩版哪个好?全面对比与选购指南 Pioneer功放说明书-78TP用户手册与操作指南 Pokémon GO 中文专题-探索现实世界,捕捉神奇宝贝! iPhone 17 Pro 1TB 最新价格及配置信息-2026年78TP首发 iPhone首发会提前发货吗?最新消息与用户指南 探索“Something中文”:理解、应用与文化融合 iPhone 13 Pro Max 远峰蓝-极致性能与优雅设计的完美融合 Nintendo Switch 专题页面-探索任天堂掌机与主机的完美融合 Python 编码(Encoding)用法详解-字符编码问题一站式指南 韩版日版美版iPhone哪个好?全面对比选购指南 Bonpoint香水-法式优雅与童真芬芳的完美融合 新犁地|探索土地的新生与希望 Shine公司-照亮未来,引领创新 词根“champion”探秘:从冠军到捍卫者 国行 iPhone 台湾可以使用吗?全面解析与使用指南 Python 自带 IDE 在哪里?详解 IDLE 使用方法 Python 的正确发音-“派森”还是“派吞”? iPhone 11 日版与国行区别详解|全面对比指南 pioneers怎么读英语-英语发音指南与词义解析 Pioneer 蓝牙音箱说明书-78TP使用指南与功能详解 Which Panda Do You Like? Discover Your Favorite Panda Personality! Pixelmon宝可梦-在Minecraft中捕捉、训练与对战你的宝可梦 Bon Appétit 意大利语:品味美食的艺术 Python 3 入门与进阶指南-零基础学习 Python 编程语言 Pinion发展史-从初创到行业先锋的历程 大陆买的iPhone台湾能用吗?全面解析网络兼容性与使用建议 Python中的int()函数详解-类型转换入门指南 Python subprocess.Popen 详解-安全高效地执行外部命令 耕犁专题-探索传统与现代的耕作艺术 iPhone 16 摄像头有变化吗?全面解析新机影像升级-科技前沿 Python datetime 函数详解-时间日期处理完全指南 任天堂 Switch Online 服务介绍-重温经典,畅玩联机 iPhone 17是哪里产的?最新产地信息与供应链解析 Python安装后找不到IDLE?原因与解决方法全解析 香港買 iPhone 要交稅嗎?2026 最新免稅政策詳解 Python IDE有哪些?主流Python集成开发环境推荐-开发者指南 Python3 IDE手机版下载-轻量高效,随时随地写代码 Permeation 与 Penetration:概念解析与应用对比 任天堂 Nintendo-探索经典游戏与创新主机 Pinocchio的中文意思-木偶奇遇记主角详解 Python导入datetime模块详解-时间处理入门指南 日服eShop下载指南-安全获取日本任天堂eShop应用 iPhone美版、日版与国行区别详解|全面对比指南 Incorporate To-融入、整合与协作的未来之道 港服 Nintendo eShop 官網-遊戲、特惠與最新資訊 Penetration附魔详解|Minecraft最强穿透类附魔指南 Python编程语言-强大、简洁、高效的开源软件开发利器 “complainment”存在吗?——英语词汇探秘专题页