Python ascii hex ke biner

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 menggunakan
binascii.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

09-Okt-2020, 05. 33 PM (Pos ini terakhir diubah. 09 Okt-2020, 05. 34 sore oleh deanhystad. )

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 sore

Tes 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.bin
Kode
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

Bagaimana cara mengubah hex menjadi biner dengan Python?

Hex ke Biner . Misalnya, ekspresi bin(0xf) menghasilkan string biner '0b1111'. using Python's built-in function bin() . For example, the expression bin(0xf) yields the binary string '0b1111' .

Bagaimana cara mengubah ASCII menjadi biner dengan Python?

Untuk mengonversi string ke biner, pertama-tama kita menambahkan nilai ASCII individual string ke daftar ( l ) menggunakan fungsi ord(_string). This function gives the ASCII value of the string (i.e., ord(H) = 72 , ord(e) = 101). Then, from the list of ASCII values we can convert them to binary using bin(_integer) .

Bagaimana mengkonversi dari hex ke biner?

Heksadesimal ke biner .
Pisahkan nomor hex menjadi nilai individual
Ubah setiap nilai hex menjadi padanan desimalnya
Selanjutnya, ubah setiap digit desimal menjadi biner, pastikan untuk menulis empat digit untuk setiap nilai
Gabungkan keempat digit untuk membuat satu bilangan biner

Bagaimana cara mengubah heksadesimal ke biner dengan Python tanpa fungsi bawaan?

Heksadesimal ke Biner menggunakan while Loop .
Nilai awal, hexdecnum=1D4 (dimasukkan oleh pengguna), i=0, binnum=""
Metode len() digunakan untuk mencari panjang string. .
Sekarang kondisi (dari while loop) i