【Python_7-8】二进制与字符编码、保留字和标识符【b站搬运_子木】

Python017

【Python_7-8】二进制与字符编码、保留字和标识符【b站搬运_子木】,第1张

用 8位(一个字节)二进制数 来表示 现实生活中用到的字符

我国的计算机字符发展:1980s-GB2312,1990s-GBK,2000s-GB18030,再到如今Unicode-几乎包含全世界的字符,生成了UTF-8(Unicode Transformation Format,也有UTF-16,UTF-32)。

可以理解为 以上都是 表,用来规定哪一个字符用哪一个数字表示。

windows键+R,打开后输入calc,打开程序员,可以看见HEX十六进制、DEC十进制、OCT八进制、BIN二进制计算键盘

Python中为一切对象起名时,不能用保留字,有这些:

['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

为变量、函数、类、模块and其他对象的命名的 名字 =标识符,标识Python中一个对象的名字

规则有4点:可以是数字/字母/下划线、不以数字开头、不能是保留字、区分大小写

实际项目中经常遇到读取二进制问题,Python下读取二进制文件一般用Python的文件打开读写相关函数和struct.

1。获取文件名filename,可用对话框,也可以直接手写

2。打开文件,这里中是打开,像看书一样,只是打开书,还没有看里面的内容,可以看,也可以不看

binFile=open(filename,'rb')

3。那就看看吧,binFile现在就是书的名字了。这里我们读入4个字,如果read()将读入整个文件

context=binFile.read(4)

4。读入之后问题来了,context包含四个字(4Bytes),但这四个字是加密的(二进制)。这时要找翻译struct.unpack

realContext=struct.unpack(format,context)

5。format的就是加密规则了,由1,2,4,8个字节组成其他类型,或者其他类型的数组。

a,b,c,d=struct.unpack('4c',context)

读入四个字符

对应格式参考 www.jianshu.com/p/5a985f29fa81

6。打开文件后用完一定要关闭,和看书一个样,看完后要合上,不合上后果自己去想

binFile.close()

7。查找内容,文件内容可以一个一个字的按顺序读出,但如果已经知道内容在什么位置,可以用查找方式读出。

binFile.seek(100)

context=binFile.read(4)

读出100位置后面的4个字,(101,102,103,104)

8。Python还提供也一些高级读写功能,如整行读取等

这是我写的一段程序,可以实现将字符串转为二进制。

基本思路:

1,将一个字符串转换为字符。这里采用了迭代器__iter__()内置函数,即可实现这个方法

2,将每一个字符转换为十进制,再转化为二进制。bin()函数只能将一个十进制函数转换为二进制,ord()函数可以将一个字符转换为十进制(实质就是这个字符的unicode编号),如此就实现了不同计数方法之间的转化