python3之编码
这个符号(#!)的名称,叫做"Shebang"或者"Sha-bang"
Shebang这个符号通常在Unix系统的脚本中第一行开头中写到,它指明了执行这个脚本文件的解释程序。
如果脚本文件中没有#!这一行,那么它执行时会默认用当前Shell去解释这个脚本(即:$SHELL环境变量)。
#encoding=utf-8
常见编码错误的原因有以下这些:
Python解释器的默认编码
Python源文件文件编码
Terminal使用的编码
操作系统的语言设置
python3
文件默认编码是utf-8 , 字符串编码是 unicode。
以utf-8 或者 gbk等编码的代码,加载到内存,会自动转为unicode正常显示。
Python有个内置函数bytes()可以将字符串str类型转换成bytes类型,必须明确encoding的参数,不可省略。
字符串类str里有一个encode()方法,它是从字符串向比特流的编码过程。
而bytes类型恰好有个decode()方法,它是从比特流向字符串解码的过程。
b'\xe4\xb8\xad\xe6\x96\x87'这种形式,开头的b表示这是一个bytes类型。
s = '中国' # s为str
b = bytes(s, encodeing='utf8') # b为bytes
ret = str(b,encoding='utf8') # ret为str
总结各个编码的互相转换都要先转换成unicode然后通过unicode再转换成想要的编码