用二進位制(「rb」)進行開啟檔案
然後用decode(「gbk」, errors=」ignore」)
這個時候就可以看出用什麼對資料進行分割的了
b」abcd\x64」這個是二進位制資料,列印出來為b』abcdd』
二進位制資料不能對某個元素賦值,和字串一樣
abcd是明確字元,\x開頭的是16進製制的字元
mystr = "鋤禾日當午,汗滴禾下土,誰知盤中餐,粒粒皆辛苦。"
print
(mystr.encode("utf-8"))
print("鋤禾日當午".encode("utf-8").decode("utf-8",errors="ignore"))
進製描述b
二進位制o
八進位制x
十六進製制
進製注意點
進製不能超過進製最大數
加密解密可以通過資料挪位
加密
# 1. 路徑
orginpath = r"g:\尹成\mine\data\day04\機鋒2300w完整版\jfemail.txt"
objectpath = r"g:\尹成\mine\data\day04\機鋒2300w完整版\jfemailjiami.txt"
# 2. 檔案
orginfile = open(orginpath, "rb")
objectfile = open(objectpath, "wb")
# 3. 資料處理
while
true:
ch = orginfile.read(1)
ifnot ch:
break
if chr(ord(ch)) != "\n": # 如果是換行就不加密
ch = bytes(chr(ord(ch) ^ 2), encoding="utf-8")
objectfile.write(ch)
# 4. 檔案關閉
orginfile.close()
objectfile.close()
解密# 1. 路徑
orginpath = r"g:\尹成\mine\data\day04\機鋒2300w完整版\jfemailjiami.txt"
objectpath = r"g:\尹成\mine\data\day04\機鋒2300w完整版\jfemailjiemi.txt"
# 2. 檔案
orginfile = open(orginpath, "rb")
objectfile = open(objectpath, "wb")
# 3. 資料處理
while
true:
ch = orginfile.read(1)
ifnot ch:
break
if chr(ord(ch)) != "\n": # 如果是換行就不加密
ch = bytes(chr(ord(ch) ^ 2), encoding="utf-8")
objectfile.write(ch)
# 4. 檔案關閉
orginfile.close()
objectfile.close()
二進位制加密
二進位制加密漢字需要進行正規表示式處理,因為漢字佔兩個位元組
純英文沒有問題
1. 通過字典進行雜湊演算法加速,原理是通過鍵拿值
今天做了一些優化的問題,記憶體不夠真傷。
015 python函式式程式設計 生成器 yield
在乙個函式中經常使用return關鍵字返回資料,但是有時候會使用yield關鍵字返回資料。使用yield關鍵字的函式返回的是乙個生成器 generator 物件,生成器物件是一種可迭代物件。def square num 定義引數函式 n list for i in range 1,num 1 ret...
python語句結構 python學習之結構語句
一 迴圈語句 1.1 for x in rang n rang n 生成左閉右開區間的序列 1.2 while x 條件n 二條件語句 if 條件表示式 elif 表示式 elif 表示式 else 三 break continu 四 函式 4.1 定義 def func 引數列表 if not i...
012 Python語法之檔案操作
大多數情況下我們要處理的檔案都是文字檔案 其他檔案都是二進位制進行讀寫的 open函式開啟檔案file1 open 檔案路徑 open引數詳解 第乙個引數引數路徑 第二個引數開啟方式 r 唯讀 w 只寫 rb 二進位制讀 a 追加寫入 wb 二進位制寫 返回值是乙個檔案物件 read函式file1....