python-字符编码的转换

python-字符编码的转换

1、了解基础知识

ASCII  一个英文,占一个字节。只能存英文和特殊字符。

gb2312 约可以存7000中文

gb1830 约可以存27000中文

gbk 默认中文,

Unicode    一个英文和中文占2个字节,万国码,可以显示全球各个国家的字符。

utf-8(unicode的扩展),可变长的字符编码, 英文还是按ASCII方式存储,1个中文占3个字节。

在python2默认编码是ASCII, python3里默认是unicode

其他语言转成unicode ,再将unicode 转换成gbk.

中文转成unicode ,再通过unicodel转换。

在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string

一定要记得,用什么方式编码的就必须用什么方式解码

#coding=gbk

import sys
print(sys.getdefaultencoding())#查看默认的字符编码是什么
utf_gbk="你好"
utf1=utf_gbk.encode("utf-8").decode("utf-8").encode("gbk").decode("gbk")
print(utf1,type(utf1))


打印结果
utf-8
你好 <class 'str'>

总结:所有转换首先要把它转换成unicod,然后再用encode来转换。

 

 

原文地址:https://www.cnblogs.com/kezi/p/11955166.html