虽然这是一个很基础的问题,但是博主一直都是瞎猫碰死耗子的心态去试,因为对于中文就那么几种encode方式 - -!
编码解码
- 什么是
encode
和decode
一般来说由一种字符串变成二进制串的过程叫encode;反之称为decode
- 从保存文档开始讲起
通常我们写一个文档时,无论是通过word / pycharm / notepad++这些,都会有一个东西叫解码方式,出现在右下角,并且选不好就出现乱码。
why?
首先,我们知道字符串存在硬盘中,实际上存放的是二进制数,那怎么存放二进制数,二进制怎么对应起我们想要的字符,这就通过了我们规定的编码规则了。
我们通过输入法,输入的字符串到硬盘二进制的过程叫encode;打开二进制文件在编辑器中显示字符的过程叫decode。
这是对于文件编辑器来说。
python3字符
python3文件中只有两种字符str
型和bytes
型
其中bytes
就是二进制串的十六进制表示,str
在python3是Unicode
标准并且可以选择不同编码表示,如utf-
GBK
ISO-
等。
可以在python代码的首行指定# -*- co