字符编码

字符编码

基础知识

编码规范中存在三个概念,字库表、编码字符集、字符编码(编码方式)。字库表存储了能显示的所有字符;编码字符集是一个二进制的集合,在字库表中,每一个字符都对应编码字符集中的一个二进制编码;字符编码也是编码方式,不同的编码方式适应不同的场景。

常见字符编码

编码与解码

几种报错

第一种

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 36: ordinal not in range(128)
python默认的编码是ascii,当程序中出现非ascii字符时,python常常会报出这种错误(比如中文字),所以这种错误的解决方案是修改python的默认编码

1
2
3
4
> import sys 
> reload(sys)
> sys.setdefaultencoding(’utf8’)
>

第二种

SyntaxError: Non-ASCII character ‘\xe6’ in file test.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
这是未加 #-*- coding: utf-8 -*- 导致的。

参考资料:
https://blog.csdn.net/qq_42068856/article/details/83792174
https://www.cnblogs.com/wxsblog/p/7297859.html

坚持原创技术分享,您的支持将鼓励我继续创作!