Python常用的编码格式有3种:unicode,utf-8,gbk

有些时候因为某些需要,就例如我们用的是utf-8的编码格式编写的脚本,需要在Windows终端中运行,而Windows终端默认的编码格式是GBK,这时候我们就要把编码转换一下格式

我们先来看一下这3种编码格式的关系

Python编码转换_第1张图片

由图中得知,unicode转换成GBK或者utf-8需要编码,而utf-8和GBK转换成unicode就要解码,那么,utf-8和GBK就可以通过这个方式来转换了

#!/usr/bin/env python
#-*- coding:utf-8 -*-
temp = "小明"  # utf-8
# 解码,需要指定原来是什么编码(括号里面的)
temp_unicode = temp.decode("utf-8")
# 编码,需要制定编成什么编码(括号里面的)
temp_gbk = temp_unicode.encode("gbk")
print(temp_gbk)


以上是Python 2.几 的版本编码转换方法

在Python3里面,已经没有unicode类型,因为在Python3里面,unicode类型的编码它自动给你转换成utf-8或者gbk,所以utf-8可以直接编码成GBK

temp = "小明"
temp_gbk = temp.encode("gbk")
print(temp_gbk)