私はPythonを初めて使用し、バイト0x00-0xffをファイルに出力するスクリプトを作成しようとしています。
これは私が現在見ているコードです
import sys
filename="binarywriter.txt"
openmode="wb"
charset="utf8"
file=open(filename, openmode)
for x in range(16,256):
s="0x%.2x=\\x" %x
s+=hex(x)[2:]
d=bytes(s, charset).decode("unicode_escape")
file.write(d.encode(charset))
file.write("\r\n".encode(charset))
file.close()
sys.stdin.readline()
問題は、Pythonスクリプトがバイト0x7f(ascii)まですべてをうまく書き込み、その後(0x80)、2バイトのutf8エンコーディングですべての出力を変換することです。これを避けて、次のようなものだけを書くことが重要です。
...
0x7f
0x80
0x81
...
だから私は8ビットエンコーディングのようなものが必要ですが、1時間の検索の後、私にとって何の結果もありませんでした
16未満の数値がデコードできない単一の16進値を返すという小さな問題もありますが、私はこれに対する解決策を見つけるかもしれません