在python3中str类型存储unicode数据,bytes类型储存二进制bytes数据。编码就是将人类所熟悉的明文编码成计算机存储的二进制格式。其中unicode是万国码,可以表达覆盖各国所有符号,是一种国际标准的编码准则。
当我们在pycharm内保存一个文件时,文件的内容会被以pycharm默认的编码方式对文件内容进行编码(encode),存储编码后的二进制数据;当我们打开文件时,pycharm又会按照该方式对文件内容进行解码(decode),变成我们所熟悉的内容。
1 . 在python2中默认编码是ASCII, python3里默认编码是unicode
2 . UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度,当字符在ASCII码的范围时,就用一个字节表示,所以是兼容ASCII编码的。
3 . 在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string