python默认编码的用途_python--字符编码理解

一、字符编码简史:

美国:1963年 ASCII (包含127个字符  占1个字节)

中国:1980年 GB2312 (收录7445个汉字,包括6763个汉字和682个其它符号)

1993年 GB13000 (收录20902个汉字)

1995年 GBK1.0 (收录 21003个汉字)

2000年 GB18030 (收录70244个汉字)

世界:1991年 unicode(‘万国码’也就统一编码,通常占2字节,复杂的汉字占4字节)

UTF-8 (可变长的字符编码)

二、python中的编码解码应用

Python2中的字符串进行字符编码转换过程是:

字节串-->decode('原来的字符编码')-->Unicode字符串-->encode('新的字符编码')-->字节串

#!/usr/bin/env python#-*- coding:utf-8 -*-

utf_8_a= '测试'

print(utf_8_a,type(utf_8_a),len(utf_8_a)) #打印utf_8_a的内容、类型及长度

unicode_a = utf_8_a.decode('utf-8') #对utf_8_a进行解码成unicode

print(unicode_a,type(unicode_a),len(unicode_a))

gbk_a= utf_8_a.decode('utf-8').encode('gbk') #先解码在编码成gbk

print(gbk_a,type(gbk_a),len(gbk_a)) #打印gbk_a的内存、类型及长度

print(gbk_a.decode('gbk'))----------------------------------------------------pytharm(python2.6)运行结果:

('\xe6\xb5\x8b\xe8\xaf\x95', , 6)

(u'\u6d4b\u8bd5', , 2)

('\xb2\xe2\xca\xd4', , 4)

测试

Python3中定义的字符串默认就是unicode,因此不需要先解码,可以直接编码成新的字符编码:

字符串-->encode('新的字符编码')-->字节串

#!/usr/bin/env python#-*- coding:utf-8 -*-

utf_8_a= '测试'

print(utf_8_a,type(utf_8_a),len(utf_8_a)) #打印utf_8_a的内容、类型及长度

gbk_a = utf_8_a.encode('gbk')print(gbk_a.decode('gbk'),type(gbk_a),len(gbk_a))--------------------------------------------------------pycharm(python3.6)运行结果:

测试 2测试 4

注:关于字符与字节的理解 猛击这里

三、参考文档:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值