1. 数据分割问题
- 用二进制(“rb”)进行打开文件
- 然后用decode(“gbk”, errors=”ignore”)
- 这个时候就可以看出用什么对数据进行分割的了
2. bytes数据类型(二进制类型)
- b”abcd\x64”这个是二进制数据,打印出来为b’abcdd’
- 二进制数据不能对某个元素赋值,和字符串一样
- abcd是明确字符,\x开头的是16进制的字符
3. 二进制编码 encode(“utf-8”)
mystr = "锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦。"
print(mystr.encode("utf-8"))
4. 二进制解码decode(“utf-8”,errors=”ignore”)
print("锄禾日当午".encode("utf-8").decode("utf-8",errors="ignore"))
5. 进制
进制注意点
- 进制不能超过进制最大数
6. 加密解密
- 加密解密可以通过数据挪位
加密
orginPath = r"G:\尹成\mine\data\day04\机锋2300W完整版\jfEmail.txt"
objectPath = r"G:\尹成\mine\data\day04\机锋2300W完整版\jfEmailJiaMi.txt"
orginFile = open(orginPath, "rb")
objectFile = open(objectPath, "wb")
while True:
ch = orginFile.read(1)
if not ch:
break
if chr(ord(ch)) != "\n":
ch = bytes(chr(ord(ch) ^ 2), encoding="utf-8")
objectFile.write(ch)
orginFile.close()
objectFile.close()
解密
orginPath = r"G:\尹成\mine\data\day04\机锋2300W完整版\jfEmailJiaMi.txt"
objectPath = r"G:\尹成\mine\data\day04\机锋2300W完整版\jfEmailJieMi.txt"
orginFile = open(orginPath, "rb")
objectFile = open(objectPath, "wb")
while True:
ch = orginFile.read(1)
if not ch:
break
if chr(ord(ch)) != "\n":
ch = bytes(chr(ord(ch) ^ 2), encoding="utf-8")
objectFile.write(ch)
orginFile.close()
objectFile.close()
二进制加密
- 二进制加密汉字需要进行正则表达式处理,因为汉字占两个字节
- 纯英文没有问题
7. 哈希算法提速
1. 通过字典进行哈希算法加速,原理是通过键拿值
总结
今天做了一些优化的问题,内存不够真伤。