字符编码

万国码: unicode
数字 字符 字符 是用2**8次方来表示,叫做asci码

unicode 用至少16位来表示就是2的16次方65536次

如果用二进制来表示数字1的话就是16位:0000000000000001


utf-8 是对万国码 unicode 的压缩、精简、优化
是按照8位来存的


UTF-8 转换为 GBK 的方法是:
UTF-8 -->unicode-->GBK

通过unicode 转换为UFT-8叫做编码
通过unicode 转换为GBK 叫做解码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话:

报错:ascii码无法表示中文

1 #!/usr/bin/env python
2  
3 
4 print "你好,世界"

改正:应该显示的告诉python解释器,用什么编码来执行源代码,即:

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3  
4 print "你好,世界"

注释

  单行注视:# 被注释内容

  多行注释:""" 被注释内容 """

原文地址:https://www.cnblogs.com/nb-blog/p/5126837.html