网站建设培训哪家好,推广的几种方式,群辉nas 做网站,wordpress调用同分类最新文章入门小菜鸟#xff0c;希望像做笔记记录自己学的东西#xff0c;也希望能帮助到同样入门的人#xff0c;更希望大佬们帮忙纠错啦~侵权立删。
目录
一、定义
1、ASCII
2、Unicode
3、UTF-8
4、GB2312
5、GBK
6、\u和\x
二、相互转化
1、str 与 ASCII
2、str与utf-…入门小菜鸟希望像做笔记记录自己学的东西也希望能帮助到同样入门的人更希望大佬们帮忙纠错啦~侵权立删。
目录
一、定义
1、ASCII
2、Unicode
3、UTF-8
4、GB2312
5、GBK
6、\u和\x
二、相互转化
1、str 与 ASCII
2、str与utf-8
3、str转gbk
4、在编码时想看到底是哪个字符编码失败时引用try except查看 一、定义
1、ASCII
阐述英语字符与二进制位之间的关系用一个字节来表示一共有128种字符最高位均为0
2、Unicode
这是一种所有符号的编码。
问题
Unicode只是一个符号集它只规定了符号的二进制代码却没有规定这个二进制代码应该如何存储。
这产生了两个问题
1难以区别Unicode和ASCII
eg多个字节编码难以分辨是表示一个Unicode还是多个ASCII组成
2存储浪费
一个字符的二进制编码可能存在许许多多的’0‘。
3、UTF-8
UTF-8就是在互联网上使用最广的一种Unicode的实现方式。它是一种变长的编码方式。它可以使用1~4个字节表示一个符号根据不同的符号而变化字节长度。 4、GB2312
第一个汉字编码标准共收录了 6763 个常用的汉字和字符。这种编码形式可以用来识别文本中是否含有罕见字。
5、GBK
比GB2312收录的文字更多包括一些繁体字等等。GBK包含了所有汉字一般可以用来检验文本中是否存在乱码。
6、\u和\x
\x指16进制后面跟两位表示单字节编码 \u指unicode编码后面跟着4个16进制数一般为unicode-16。在python中可以使用encode、decode函数对其进行转化。 二、相互转化
1、str 与 ASCII
c a
print(ord(c)) #str转ascii
num 23
print(chr(num)) #ascii转str
2、str与utf-8
s 你
u s.encode(utf-8) #str转utf-8
print(u)
print(u.decode(utf-8)) #utf-8转str
#在已知编码的情况想知道其表示的字符
s b\xe4\xbd\xa0
u s.decode(utf-8) #utf-8转str
print(u)
结果
b\xe4\xbd\xa0
你
你
3、str转gbk
s 你
u s.encode(gbk) #str转gbk
print(u)
print(u.decode(gbk)) #gbk转str
#在已知编码的情况想知道其表示的字符
s b\xc4\xe3
u s.decode(gbk) #gbk转str
print(u)
结果
b\xc4\xe3
你
你
4、在编码时想看到底是哪个字符编码失败时引用try except查看
t wuhiu﹒~cicuθ﹒▫efeftry:t.encode(gb2312)
except UnicodeEncodeError as e:print(异常编码为,t[e.args[2]])
结果
异常编码为 ﹒ 参考
字符编码中ASCII、Unicode和UTF-8的区别 - 知乎
彻底搞明白 GB2312、GBK 和 GB18030 - 知乎
\u与\x的区别_\x \u_Takoony的博客-CSDN博客