二次编码
Posted shuoliuchina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二次编码相关的知识,希望对你有一定的参考价值。
二次编码
编码回顾
ascii : 英文,数字,符号
英文: 1个字节,8位
gbk : 英文,数字,符号,中文
英文: 1个字节,8位
中文: 2个字节,16位
unicode : 英文,数字,符号,中文
英文: 4个字节,32位
中文: 4个字节,32位
utf-8 : 英文,数字,符号,中文
英文: 1个字节,8位
欧洲: 2个字节,16位
亚洲: 3个字节,24位
二次编码
在 python 3 的内存中使用的是 Unicode 编码,而硬盘中存储时使用的是用户选择的编码方式1。这样一来,就需要进行 Unicode 和其他编码方式的转变,也就涉及到编码和解码的问题。
编码是将字符转化为二进制的形式,使用的是 .encode()
方法:
s = "你好"
s1 = s.encode("utf-8") # 编码
print(s1)
输出的内容为: b'xe4xbdxa0xe5xa5xbd'
解码是将二进制形式的数据转换成位符,使用的是 .decode()
方法:
s = b'xe4xbdxa0xe5xa5xbd'
s2 = s.decode('utf-8')
print(s2)
输出的内容为: 你好
需要注意的是,用什么方式进行编码,就需要用什么方式进行解码。解码方式使用错误,轻则乱码,重则报错。
编码的用处主要在两个方面:
- 存储,涉及到文件操作
- 传输,涉及到网络编程
对于中文来说,主要是 gbk 和 utf-8?
以上是关于二次编码的主要内容,如果未能解决你的问题,请参考以下文章
从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration
在使用 FirebaseRecyclerPagingAdapter 时,第二次单击 RecyclerView 中的项目时,片段显示为空