05 ,字符编码,转码 :

Jacinthe ·
更新时间:2024-09-21
· 792 次阅读

1 ,ascII 编码 : 数字,字母,下划线,标识符 英文 : 1 个字节 中文 : 不可以 2 ,unicode 编码 : 万国码 例如 0~9<A~Z<a~z 占内存 :
2 字节,8 位 中文 : 2 个字节 英文 : 2 个字节 3 ,utf-8 : 可变长编码 unicode 的扩展集 英文 : 1 个字符 – 1 个字节 中文 : 1 个字符 – 3 个字节 4 ,GBK : 中国本土编码 支持 : 中文,英文 一个字符 : 2 个字节 5 ,字符编码的包含关系 :

在这里插入图片描述

6 ,查看默认编码方式 : 代码 : # -*- coding:utf-8 -*- # !/usr/local/python3/bin/python3 import sys cd = sys.getdefaultencoding() print(cd) 结果 : utf-8 7 ,python 的默认编码方式 : python 2.x默认的字符编码是ASCII,默认的文件编码也是ASCII。 python 3.x默认的字符编码是unicode,默认的文件编码是utf-8。 8 ,python 指定 utf-8 : 代码 : # _*_coding:utf-8_*_ 作用 :
此.py文件是utf-8编码,需要用utf-8的编码去读取这个.py文件。 9 ,乱码 : utf-8 --> GBK 乱码的发生 : 编解码方式不一样 代码 : # !/usr/local/python3/bin/python3 import sys # python3 默认使用 gbk s1 = "你好" # 1 ,编码 : ( 字符 -> 字节 ) bytes = s1.encode("utf-8") # 2 ,编码 : ( 字节 -> 字符 ) s2 = bytes.decode("gbk") print(s2) 结果 : 浣犲ソ 10 ,编码,解码 : 正确的方式 代码 : # !/usr/local/python3/bin/python3 import sys # python3 默认使用 gbk s1 = "你好" # 1 ,编码 : ( 字符 -> 字节 ) bytes = s1.encode("utf-8") # 2 ,解码 : ( 字节 -> 字符 ) s2 = bytes.decode("gbk") # 3 ,重新编解码 : res = s2.encode("gbk").decode("utf-8") print(res) 结果 : 你好 11 ,python3 读取 gbk 文件 : 准备阶段 建文件 : gbk 编码,两个汉字
在这里插入图片描述 使用 utf-8 打开,是乱码 :
在这里插入图片描述 12 ,打开 gbk 文件 : 指定编码 gbk 代码 : # !/usr/local/python3/bin/python3 f = open("aa.txt",encoding="gbk") data = f.read() print(data) 结果 :
你好 13 ,python 的源文件编码 : # -*- coding:gbk -*- # !/usr/local/python3/bin/python3 res = u"你好" print(res)
作者:孙砚秋



编码 转码 字符 字符编码

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章