![](/img/trans.png)
[英]Im trying to use another python file inside a different one and my function isnt passing numbers
[英]Trying to store raw bytes inside my one Python script file
我目前正在研究一個Python腳本,該腳本將能夠隱藏其內部的所有二進制文件。 它通過從目標文件中讀取所有二進制數據,然后將其存儲在自身內部的列表中來進行此操作。 然后,它將刪除該文件以將其隱藏。
這是我的問題:當我將讀取的字節存儲在腳本文件中時,Python抱怨說它不是UTF-8代碼。 這是我讀取的原始數據的一個小示例:
ßëM€€Ê yQtm×ßü«WTª¼É[–±Ê
如何存儲這些字節而不破壞腳本? 我想我可以將每個字節存儲為一個代碼點,以便解釋器接受它。 但是,如何告訴write()-I / O函數將字節寫為代碼點呢?
您應該對二進制文件進行編碼-例如,使用base64封裝-將字節轉換為“合法字符”。 然后,當您需要二進制信息時,可以將其轉換回去。
有關某些代碼示例,請參見此先前問題 。
一個簡單的示例,可以幫助您開始:
# assume your bytes came from a file:
bytesIneed = bytearray([234,232,231,188,122,132,145])
import base64
bytesConverted = base64.b64encode(bytesIneed)
print "encoded string: "
print bytesConverted
bytesRecovered = base64.b64decode(bytesConverted)
print "decoded binary: "
for c in bytesRecovered: print(ord(c))
這將返回以下輸出:
encoded string:
6ujnvHqEkQ==
decoded binary:
234
232
231
188
122
132
145
如您所見-字符串6ujnvHqEkQ==
可以存儲在任何地方; 解碼功能將其轉換為所需的二進制數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.