Menyahkod dan mengekod nombor heksadesimal menggunakan Python

PHPz
Lepaskan: 2023-08-19 14:09:22
ke hadapan
2540 orang telah melayarinya

Menyahkod dan mengekod nombor heksadesimal menggunakan Python

Dalam artikel ini, kita akan belajar cara menyahkod dan mengekod nombor perenambelasan menggunakan Python.

Kaedah penggunaan

  • Gunakan modul binasci

  • Gunakan modul base64

Kaedah 1: Menggunakan modul Binasci

Dalam modul binasci, terdapat beberapa kaedah untuk menukar antara perwakilan binari berkod ASCII dan berbeza.

Jika anda hanya perlu mengekod atau menyahkod rentetan mentah digit heksadesimal, anda boleh menggunakanmodul binascii.

Algoritma (langkah)

Di bawah adalah algoritma/langkah untuk melaksanakan tugas yang diperlukan. −

  • Gunakan kata kunci import untuk mengimport modulbinascii.

  • Buat pembolehubah untuk menyimpan rentetaninput byte.

  • Ekodkan rentetan bait input ke dalam nombor perenambelasan menggunakan fungsib2a_hex()modulbinascii.

  • Cetak nombor perenambelasan terhasil bagi rentetan bait input.

  • Gunakan fungsia2b_hex()modulbinasciiuntuk menyahkod nombor heksadesimal di atas menjadi rentetan bait.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur cara berikut menggunakan fungsi b2a_hex() dan a2b_hex() untuk mengekod rentetan bait input ke dalam nombor perenambelasan dan menyahkodnya kembali kepada rentetan bait.

# importing binascii module import binascii # input byte string inputByteString = b'tutorialspoint python' # encoding input byte string into hexadecimal digits hexdigits = binascii.b2a_hex(inputByteString) # printing the resultant hexadecimal digits of the byte string print(hexdigits) # decoding hexadecimal digits back into byte string print(binascii.a2b_hex(hexdigits))
Salin selepas log masuk

Output

Apabila melaksanakan program di atas, output berikut akan dihasilkan -

b'7475746f7269616c73706f696e7420707974686f6e' b'tutorialspoint python'
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Gunakan modul base64

Modul

base64juga mempunyai fungsi yang serupa. Ia juga boleh mengekod atau menyahkod nombor heksadesimal mentah.

Algoritma (langkah)

Di bawah adalah algoritma/langkah untuk melaksanakan tugas yang diperlukan. −

  • Gunakan kata kunci import untuk mengimport modulbase64.

  • Buat pembolehubah untuk menyimpan rentetaninput byte.

  • Enkodkan rentetan bait input ke dalam digit heksadesimal (digit heksadesimal) menggunakan fungsib16encode()modulbase64.

  • Cetak nombor perenambelasan terhasil bagi rentetan bait input.

  • Gunakan fungsib16decode()modulbase64untuk menyahkod nombor heksadesimal di atas ke dalam rentetan bait dan mencetaknya.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur cara berikut mengekod rentetan bait input ke dalam nombor perenambelasan dan menyahkodnya kembali kepada rentetan bait menggunakan fungsi b16encode() dan b16decode() -

# importing base64 module import base64 # input byte string inputByteString = b'tutorialspoint python' # encoding input byte byte string into hexadecimal digits # using b16encode() function of base64 module hexdigits = base64.b16encode(inputByteString) # printing the resultant hexadecimal digits of the byte string print(hexdigits) # decoding hexadecimal digits back into byte string print(base64.b16decode(hexdigits))
Salin selepas log masuk

Output

Apabila melaksanakan program di atas, output berikut akan dihasilkan -

b'7475746f7269616c73706f696e7420707974686f6e' b'tutorialspoint python'
Salin selepas log masuk
Salin selepas log masuk

Menukar kepada dan dari perenambelasan adalah mudah dalam kebanyakan kes menggunakan fungsi yang diterangkan.Lipat sarungadalah perbezaan terbesar antara kedua-dua kaedah. Berbanding dengan operasi dalam binasci, fungsibase64.b16decode()danbase64.b16encode()hanya boleh mengendalikanhuruf besarhuruf heksadesimal.

Ia juga penting untuk diingat bahawa output fungsi pengekodan sentiasa rentetan bait. Anda mungkin perlu memasukkan langkah penyahkodan tambahan untuk memaksa output ke Unicode.

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Atur cara berikut menggunakan fungsi nyahkod untuk menyahkod nombor perenambelasan ke dalam format ASCII:

# importing base64 module import base64 # input byte string inputByteString = b'tutorialspoint python' # encoding input byte byte string into hexadecimal digits # using b16encode() function of base64 module hexdigits = base64.b16encode(inputByteString) # printing the resultant hexadecimal digitsof the byte string print(hexdigits) # decoding hexadecimal digits in ASCII format using the decode() function print(hexdigits.decode('ascii'))
Salin selepas log masuk

Output

Apabila melaksanakan program di atas, output berikut akan dihasilkan -

b'7475746F7269616C73706F696E7420707974686F6E' 7475746F7269616C73706F696E7420707974686F6E
Salin selepas log masuk
Kaedah

b16decode() dan a2b_hex() menerima bait atau teks Unicode sebagai input apabila menyahkod nombor perenambelasan. Walau bagaimanapun, rentetan ini hanya boleh mengandungi digit heksadesimal yang telah dikodkan ASCII.

Kesimpulan

Dalam artikel ini, kami mempelajari cara menyahkod dan mengekod perwakilan perenambelasan nombor menggunakan Python. Kami juga mempelajari cara menggunakan kaedah decode() untuk menyahkod perwakilan ASCII bagi nombor perenambelasan.

Atas ialah kandungan terperinci Menyahkod dan mengekod nombor heksadesimal menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!