(2)python字符编码转换
【1】字符集的演进
ASCII 码 255个字节, 1 bytes
==> 1980 gb2312 7000+汉字
==> 1995 GBK1.0 2w+汉字
==> 2000 GB18030 27000+行字
==》Unicode 2bytes
==> utf-8 是unicode的压缩格式,把存储内容是可变长的。
=》英文还是以Ascii来存储(占1个bytes),中文用 Unicode存储(占3个 bytes)
【2】转换规则
【3】转换演示
因为python3默认字符集编码是 utf-8,示意图 decode 默认转回来的就是使用utf8格式来解码,且加密后默认就是 Bytes 格式
# -*- coding: UTF-8 -*-
import sys # python3 默认使用的 utf8 编码,一个字母占1个字节,一个中文占3个字节 ,但所有数据类型、变量都是 Unicode s = '你好abc' print('默认编码是:',sys.getdefaultencoding()) print('utf-8编码(汉字占3个,字母占1个)',type(s),len(s.encode() )) # encode 不仅仅转了编码,还变成了 bytes 以16进制显示 ucode_to_gbk = s.encode("gbk") print('gbk编码(汉字占2个,字母占1个)',ucode_to_gbk,len(ucode_to_gbk)) gbk_to_utf8 = ucode_to_gbk.decode("gbk").encode("utf-8") print(gbk_to_utf8) print('utf-8编码(汉字占3个,字母占1个):',gbk_to_utf8,len(gbk_to_utf8)) # 默认会显示为 bytes print(gbk_to_utf8.decode(),len(gbk_to_utf8.decode('utf-8')))
输出:
默认编码是: utf-8 utf-8编码(汉字占3个,字母占1个) <class 'str'> 9 gbk编码(汉字占2个,字母占1个) b'\xc4\xe3\xba\xc3abc' 7 b'\xe4\xbd\xa0\xe5\xa5\xbdabc' utf-8编码(汉字占3个,字母占1个): b'\xe4\xbd\xa0\xe5\xa5\xbdabc' 9 你好abc 5
其他参考
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南