Exercise23(utf-8, encode, decode, import sys, from sys import, strip,$OutputCod, chcp 65001)

ex23.py

Exercise23(utf-8, encode, decode, import sys, from sys import, strip,$OutputCod, chcp 65001)

Exercise23(utf-8, encode, decode, import sys, from sys import, strip,$OutputCod, chcp 65001)

输出节选:

......

Exercise23(utf-8, encode, decode, import sys, from sys import, strip,$OutputCod, chcp 65001)

进入python:

Exercise23(utf-8, encode, decode, import sys, from sys import, strip,$OutputCod, chcp 65001)

1、python3默认utf-8.


2、.encode() : encode string to bytes

     .decode() : decode bytes to string


3、utf-8中文的编码问题:

Exercise23(utf-8, encode, decode, import sys, from sys import, strip,$OutputCod, chcp 65001)

吴的utf-8编码为:E590BE 

语的utf-8编码为:E8AFAD

汉字的utf-8编码一般为3个字节。utf-8是unicode的一种实现方法。


4、import sys和from sys import的区别

如:import sys                                                                        from sys import argv

       script = sys.argv                                                               script = argv

import sys : 拿来整个包。

import sys import  : 拿来包里的一个类。

知乎看到一个精辟说法如下图:

   Exercise23(utf-8, encode, decode, import sys, from sys import, strip,$OutputCod, chcp 65001)

所谓两个车就是一个包里可能有一个子类两者名字相同。


5、python 可以返回一个函数

Exercise23(utf-8, encode, decode, import sys, from sys import, strip,$OutputCod, chcp 65001)


6、line.strip() : 去掉这一行里的某些字符。当无参数时去掉空格。


7、$OutputCoding


8、chcp 65001


Extra challenging: Rewrite this using the b'  ' bytes instead of the UTF-8 strings, effectively reversing the script.

提取了每一行的b' ',但是无法decode(),报错AttributeError: 'str' object has no attribute 'decode'