知识改变世界
生活可以更简单
注册 登录
***文章***

谈谈关于Python字符串的编码

作者:z 类型:转载 时间:2017-08-10

字符串在Python内部是用unicode编码表示的,转换时通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

比如从文件读入utf-8编码格式的字符串s

  1. s.decode("utf-8", "ignore").encode("gbk", "ignore") # 先由utf-8转为unicode,再由unicode转为gbk,ignore表示忽略非法字符
    
    # coding = utf-8
    s = u"中文" # s为unicode
    print isinstance(s, unicode) # 用来判断是否为unicode
    print s.encode("utf-8", "ignore") # 由unicode转为utf-8,ignore表示忽略非法字符
    

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(“gbk”, “ignore”),表示将gbk编码的字符串str1转换成unicode编码。 encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(“gbk”, “ignore”),表示将unicode编码的字符串str2转换成gbk编码。 因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码。 代码中字符串的默认编码与代码文件本身的编码一致。

希望本文所述对大家程序设计有所帮助。

***其他版块***

本站为编程爱好者提供计算机电子书免费资源下载,定期更新!

***其他***

更多内容,敬请期待!谢谢!!!