关于python中的字符串编码理解

python2.x 中中间编码为unicode,一个字符串需要decode为unicode,再encode为其它编码格式(gbk、utf8等)

以gbk转utf8为例: 

s = "我是字符串"   #gbk编码
s = s.decode('gbk').encode('utf8')  #将gbk编码转换为utf8编码,需要先转换为unicode中间编码,再转换为utf8编码

 具体过程为:

s | gbk --- decode('gbk') ---> s | unicode --- encode('utf8') ---> s | utf8

代码中的 显式字符串 默认编码为代码文件的编码格式,如果开头没有#coding=[]声明,则默认编码为ascii型(所以存储中文会有问题)

如果开头声明了,例如:

#coding=gbk

则代码中一个显式字符串,例如:

s = '我是字符串'

字符串s会被编码成 gbk 格式存储

详见:python字符串编码及乱码解决方案   讲的不错

        Python字符编码详解  这个也可以看一看

 

Freecode# : www.cnblogs.com/yym2013

posted @   Freecode#  阅读(1812)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示