python 编码解码

Posted wztshine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 编码解码相关的知识,希望对你有一定的参考价值。

一种编码想要转成另一种编码,需要先解码成万国码:Unicode,然后再从Unicode转成其他编码。

例如GBK格式想要转成utf-8,需要先按照 gbk 的格式 decode 成 unicode,再从 unicode 格式 encode 成utf-8

# python3默认使用utf-8编码,故不用声明:#-*- coding:utf-8 -*-
import sys

# 查看当前默认编码
print(sys.getdefaultencoding())

name = \'你好\'                     # utf-8格式,是Unicode类型,这是python3默认的类型
name_utf8 = name.encode(\'utf-8\')  # 编码成utf-8
name_gbk = name.encode(\'gbk\')     # 编码成gbk; utf-8也是unicode,可以直接编码成其他类型:gbk
print(name_utf8)
print(name_gbk)
print(name_gbk.decode(\'gbk\'))        # gbk先按照gbk的格式解码成Unicode,然后才能编码成其他类型
print(name_gbk.decode(\'gbk\').encode(\'utf-8\'))  # GBK转utf-8,过程: gbk->unicode->utf-8

 

 

one kind of code------>Unicode-------> Any other code

 

以上是关于python 编码解码的主要内容,如果未能解决你的问题,请参考以下文章

Python解码和编码

使用OpenSSL进行Base64编码和解码

python3解决url编码与解码

Python3.X Socket 一个编码与解码的坑

Python 无法解码 PHP 创建的 JWT 代码

Python请求:UnicodeEncodeError:'charmap'编解码器无法编码字符