Python 中的 Encoding 含义详解

理解字符编码,避免乱码问题

什么是 Encoding?

在 Python 中,encoding(编码)是指将字符串(文本)转换为字节(bytes)或将字节还原为字符串的规则。 不同的编码方式(如 UTF-8、GBK、ASCII 等)决定了计算机如何存储和传输文本数据。

如果编码与解码使用的方式不一致,就会出现“乱码”或 UnicodeDecodeError 错误。

常见编码类型

Python 中的编码操作

字符串(str)与字节(bytes)之间的转换:

# 字符串 → 字节(编码)
text = "你好,世界!"
b = text.encode('utf-8')
print(b)  # b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81'

# 字节 → 字符串(解码)
decoded = b.decode('utf-8')
print(decoded)  # 你好,世界!

文件读写中的 encoding

读取或写入文件时,务必指定正确的编码:

# 正确指定编码(推荐)
with open('example.txt', 'r', encoding='utf-8') as f:
    content = f.read()

# 写入文件
with open('output.txt', 'w', encoding='utf-8') as f:
    f.write("Hello, 世界!")

如果不指定 encoding,Python 会使用系统默认编码(如 Windows 可能是 GBK),容易导致跨平台乱码。

常见错误与解决方法

小测试:你的文件是什么编码?

点击下方按钮,查看一段模拟检测逻辑(控制台输出):

Python Object 类型详解-理解 Python 中一切皆对象 Shein百科-全面了解全球快时尚电商巨头 台灣 iPhone 17 最新版本更新內容詳解|全面升級亮點一次看 PythonIDE手机版-轻量、高效、随时随地编写Python代码 iPhone 17 香港官網|Apple (香港) “Something”中文翻译详解|常见用法与例句解析 Ponchioe是什么档次?品牌定位、价格区间与用户评价全解析 深入理解 URL 中的 encoding 参数-编码详解与实战指南 Python timeit 模块详解-精准测量代码执行时间 Champion 歌曲-激励人心的冠军之歌合集 港版iPhone和大陆版有啥区别?全面对比指南 Prevarication 同义词大全|深入理解“含糊其辞”的近义表达 台版iPhone和港版区别详解|全面对比与选购指南 Python 安装 pip 教程-快速上手指南 IDLE Python 入门指南-轻量级Python集成开发环境详解 Pigeon奶瓶多少钱一个?2026最新价格与选购指南 KinPrecision-高精度运动控制与智能驱动解决方案 plough 和 ploughing 的区别-英语词汇解析专题 MicroPython 中文文档-快速入门与开发指南 澳洲版Champion码数对照表|Champion尺码指南(AU) Confused With:理解混淆与相似概念的区别 如何鉴别 Champion 真伪-实用指南与技巧 Python 中 input() 函数详解-新手入门指南 Champion7LONGWEN入口-78TP正品运动服饰与潮流鞋服 Nintendo App下载-78TP应用免费下载与使用指南 Petrichor(法语:L’odeur de la pluie)——雨后泥土的芬芳 Incotporate-探索创新与协作的未来工作方式 Python .shape 属性详解-NumPy数组形状操作指南 大陆 iPhone 台湾能用吗?全面解析国行 iPhone 在台湾使用情况 Bonpoint 7LONGWEN-法式童装奢侈品牌|精致、优雅与童趣的完美融合 Complimentary-免费赠礼与增值服务指南 奖学金指南-申请条件、类型与成功经验分享 Pioneer App-探索未来,尽在掌中|78TP下载 Python 78TP网站-高效、易读、通用的编程语言 Python 编程语言入门与进阶指南|学习 Python 的最佳起点 eShop商店-精选好物,品质生活 Python常用IDE推荐|高效开发工具指南 Python中sep参数怎么用?详解print函数的sep用法 Python 自带的 IDE:IDLE 入门指南 洋葱(The Onion)——辛辣美味与健康之选 iPhone 17 韩版和国版区别详解|最新对比指南 新加坡 iPhone 购买指南与最新资讯|新加坡苹果手机专题 Python String 库详解-常用字符串操作与方法大全 潜在风险识别与防范指南-提升安全意识,规避未知威胁 iPhone序列号H开头代表哪里?全面解析苹果设备产地信息 OpenCV-Python 入门指南与实战示例|计算机视觉开发 Pioneers是合法的吗?全面解析与合规指南 iPhone 卫星通信功能详解|紧急情况下的生命线 Python选择题练习-掌握核心语法与常见考点 Python的IDLE怎么运行?新手入门指南|Python教程 SHEIN股东信息|公司股权结构与主要投资者 Shopee打印面单指南-快速设置与高效发货 悦耳之声-探索令人心情愉悦的声音世界 Lithosphere期刊-地球科学与岩石圈研究权威期刊 Nintendo Switch Online 安装包下载与使用指南 Python中将对象转换为整数(int)的完整指南 假肢科普专题|假肢技术、类型与康复指南 Python训练题-提升编程能力的精选练习题 Python while 循环用法详解-从入门到实战 Nintendo账号注册与管理指南-完整教程 Python热力图(Heatmap)完全指南-数据可视化入门 怎么购买港版iPhone?全面指南与注意事项 Python编程入门与实战指南|学习Python从零开始 Python pip 安装命令详解-快速上手指南 OpenNPV怎么下载-78TP指南与使用说明 Python中的pip:包管理工具完全指南 Pokémon HOME 使用指南-宝可梦存储与跨平台同步详解 iPhone Air 港版在国内能用吗?全面解析与使用指南 Chainsmokers 中文翻译|歌词、歌曲解析与乐队介绍 港服 Nintendo eShop-香港任天堂78TP遊戲商店 Python环境搭建指南-快速入门与最佳实践 Python右键没有IDLE?原因与解决方法全解析 港版iPhone和国行iPhone区别详解-购机指南 Champion是什么牌子?品牌历史、产品特点与选购指南 Python中while语句用法详解-入门到精通 Pokémon HOME-78TP宝可梦云存储服务 Python shape函数详解-NumPy数组形状操作指南 expedition怎么读-发音、释义与例句详解 Python 与 IDLE 的关系详解|初学者入门指南 iPhone韩版和美版哪个好?全面对比与选购指南 深入理解 compile():编译原理与实践指南 Champion of the World – Celebrating Global Excellence Pioneer先锋音箱是什么品牌?历史、特点与代表产品全解析 CenCorp公司-创新驱动未来,科技赋能企业 香港买iPhone回大陆全攻略|省钱指南、注意事项与避坑建议 日本 iPhone Pro Max 70 专题-未来科技新旗舰 Python中get()函数详解-字典安全取值的最佳实践 Python中int()函数详解-用法、示例与注意事项 童话故事:匹诺曹(Pinocchio)-经典木偶奇遇记 Shine品牌7LONGWEN-点亮你的生活 Python bytes 类型详解-字节操作入门指南 主板亮红灯故障排查指南-Expedition系列常见问题解决 Pioneer蓝牙连不上手机?常见原因与解决方法大全 Python Web Server 入门指南-轻量、高效、易上手 日本买 iPhone 17 中国能用吗?全面解析支持频段与网络兼容性 Pigeon公路车-轻盈、迅捷、为速度而生 iPhone 17哪里生产?全面解析苹果最新机型制造地 始祖鸟 Endorphin 系列价格|最新78TP售价与购买指南 iPhone中国大陆版是什么意思?全面解析国行、港版、美版区别 iPhone 镜头焦段详解-各代 iPhone 摄像头等效焦距与用途指南