medatib531
Orang Prancis yang bodoh
Postingan. 31
Utas. 15
Bergabung. Maret 2020
Reputasi. 0
09-Okt-2020, 12. 43 AM (Pos ini terakhir diubah. 09 Okt-2020, 12. 43 pagi oleh medatib531. )Halo,
Saya memiliki file yang memiliki beberapa nilai string hex, dipisahkan oleh karakter baris baru. e. g. filenya sepertinya
dd5bda81
ae0ac495
b97a7664
...Saya dapat dengan mudah mengurai file ini dan menemukan e. g. string ke-10 berdasarkan nomor baris
Namun saya ingin mengonversi file ke biner untuk menghemat ruang disk
Saya berpikir untuk menggunakanbinascii.unhexlify()namun saya tidak yakin apa cara terbaik untuk menangani pesanan mereka, saya. e. hanya menggabungkan array byte?
Membalas
Menemukan
Membalas
Mati_Mata
Dan Uskup
Postingan. 1.893
Utas. 8
Bergabung. Mei 2017
Reputasi. 216
09-Okt-2020, 04. 35 PM (Pos ini terakhir diubah. 09 Okt-2020, 04. 35 sore oleh Dead_EyE. )Jika file sumber memiliki akhir baris seperti contoh Anda, Anda dapat memproses baris demi baris
Berikut sebagai contoh singkat
with open("source.hex") as fd_in, open("destination.bin", "wb") as fd_out:
for line in fd_in:
chunk = binascii.unhexlify(line.rstrip())
fd_out.write(chunk)
- Buka file sumber dalam mode teks baca, buka file keluaran dalam mode tulis biner. Contoh menunjukkan bagaimana melakukannya dalam satu baris
- ulangi baris. for line in fd_in
- Strip dari spasi putih sisi kanan. line.rstrip()_
- Ubah hex-string menjadi byte (data biner) dengan binascii. unhexlify
- Tulis data yang diproses ke fd_out
Hampir mati, tapi terlalu malas untuk mati. https. //server sumber. info
Semua manusia bersama. Kami tidak butuh politisi
Membalas
Situs web Temukan
Membalas
deanhystad
Beratnya Sama dengan Bebek
Postingan. 4.481
Utas. 16
Bergabung. Feb 2020
Reputasi. 263
Terkadang lebih masuk akal untuk menulis program C. Apakah saya akan dikeluarkan dari forum sekarang?
Membalas
Menemukan
Membalas
Mati_Mata
Dan Uskup
Postingan. 1.893
Utas. 8
Bergabung. Mei 2017
Reputasi. 216
09-Okt-2020, 05. 40 PM (Pos ini terakhir diubah. 09 Okt-2020, 05. 40 sore oleh Dead_EyE. )Hm, kenapa?
Cobalah keberuntungan Anda
Jika Anda melakukannya dengan benar, buat Modul Python di C
Hampir mati, tapi terlalu malas untuk mati. https. //server sumber. info
Semua manusia bersama. Kami tidak butuh politisi
Membalas
Situs web Temukan
Membalas
Mati_Mata
Dan Uskup
Postingan. 1.893
Utas. 8
Bergabung. Mei 2017
Reputasi. 216
09 Okt-2020, 05. 42 soreTes saya
[[email protected] ~]$ dd if=/dev/urandom of=random.bin bs=1M count=64
64+0 Datensätze ein
64+0 Datensätze aus
67108864 Bytes (67 MB, 64 MiB) kopiert, 0,815292 s, 82,3 MB/s
[[email protected] ~]$ python file2hex.py
[[email protected] ~]$ md5sum random.bin random2.bin
929b3a89653f956721743a93955e2ec2 random.bin
929b3a89653f956721743a93955e2ec2 random2.binKode
from binascii import hexlify, unhexlify
def file2hex(input_file, output_file):
with open(input_file, "rb") as fd_in, open(output_file, "wb") as fd_out:
while chunk := fd_in.read(20):
fd_out.write(hexlify(chunk))
fd_out.write(b"\n")
def hex2file(input_file, output_file):
with open(input_file, "rb") as fd_in, open(output_file, "wb") as fd_out:
for line in fd_in:
fd_out.write(unhexlify(line.rstrip()))
file2hex("random.bin", "random.hex")
hex2file("random.hex", "random2.bin")_
Hampir mati, tapi terlalu malas untuk mati. https. //server sumber. info
Semua manusia bersama. Kami tidak butuh politisi
Membalas
Situs web Temukan
Membalas