1.什么是编码格式
举个例子:在抗战的年代,来回两地想要把一些信息相互传递,而又不能被地方获取到,就会使用电报一类的方式。
电报是把信息转换成一定规则的嗒嗒声。这样不知道这种规则的人,就不知道这条信息代表的是什么意思。编码格式也是如此。
1)有一定规则的规则。
2)使用了这种规则,我们就能知道传输的信息是什么意思。
2.常见的编码格式
1)gbk:中文编码。
2)ascii:英文编码。
只要输入的是中文,并且定义了编码格式是gbk,那么python解释器就能明白你传的是什么。并且成功得将这些信息打印出来。
如果使用英文编码,在英文编码中使用了中文:
# coding:ascii
print('哈哈')
print('haha')
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/1.py
??
haha
进程已结束,退出代码为 0
可以看出英文编码格式是不支持中文的。实际上,不同的语言都有各自对应的编码格式,日语有对应日语的编码格式,法语有对应法语的编码格式。
3.通用的编码格式
比如我想在日语的环境下书写法文。它们之间的编码格式是不互通的。所以我们需要有一个通用型的编码格式来帮助我们在同一个脚本下可以支持各种语言。
1)utf-8:是一种国际通用的编码格式。
这种编码格式支持各种语言字符的编解码,是非常通用的。
# coding:utf-8
print('哈哈')
print('haha')
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/1.py
哈哈
haha
进程已结束,退出代码为 0
4.代码
数字不是字符的编解码格式需要转换的,所以可以成功打印出来。
# coding:ascii
name = '小编'
print(name)
age = 10
heart = 'love'
print(age,heart)
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/coding.py
??
10 love
进程已结束,退出代码为 0
gbk格式是支持英文的,所以英文也可以成功得被打印出来。 但是在某些特定的环境中,可能使用gbk不会带来友好的效果。所以平时还是要使用utf-8这种国际通用的标准格式。
# coding:gbk
name = '小编'
print(name)
age = 10
heart = 'love'
print(age,heart)
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/coding.py
小编
10 love
进程已结束,退出代码为 0
编码格式是对应某种语言的解析识别,也可以说是一种标准。
如果在python中定义错了编码格式,可能就会出现错误。在国内使用通用的utf-8类型,就可以在脚本中既可以使用中文又可以使用英文。
所以在头注释的位置,加上coding:utf-8
,是国内开发的好习惯。
# coding:utf-8
name = '小编'
print(name)
age = 10
heart = 'love'
print(age,heart)
运行结果:
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/.venv/bin/python /Users/llq/PycharmProjects/pythonlearn/pythonlearn1/coding.py
小编
10 love
进程已结束,退出代码为 0