Python - bytes与字符串的相互转化
decode和encode的区别和介绍
by.decode(encoding='UTF-8',errors='strict')
str.encode(encoding='UTF-8',errors='strict')
- 显而易见decode是解码,encode是编码
- 解码代表bytes类型转成str类型
- 编码代表str类型转成bytes类型
- 而bytes类型的数据一般在写入文件时需要用到
直接上代码
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 """ 5 __title__ = 6 __Time__ = 2020/2/21 15:56 7 8 """ 9 # bytes转字符串方式一 10 b = b'\xe9\x80\x86\xe7\x81\xab' 11 string = str(b, 'utf-8') 12 print(string) 13 14 # bytes转字符串方式二 15 b = b'\xe9\x80\x86\xe7\x81\xab' 16 string = b.decode() # 第一参数默认utf8,第二参数默认strict 17 print(string) 18 19 # bytes转字符串方式三 20 b = b'\xe9\x80\x86\xe7\x81haha\xab' 21 string = b.decode('utf-8', 'ignore') # 忽略非法字符,用strict会抛出异常 22 print(string) 23 24 # bytes转字符串方式四 25 b = b'\xe9\x80\x86\xe7\x81haha\xab' 26 string = b.decode('utf-8', 'replace') # 用?取代非法字符 27 print(string) 28 29 # 字符串转bytes方式一 30 str1 = '逆火' 31 b = bytes(str1, encoding='utf-8') 32 print(b) 33 34 # 字符串转bytes方式二 35 b = str1.encode('utf-8') 36 print(b)
执行结果
逆火 逆火 逆haha 逆�haha� b'\xe9\x80\x86\xe7\x81\xab' b'\xe9\x80\x86\xe7\x81\xab'
标签:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具