


Menyahkod dan mengekod nombor heksadesimal menggunakan Python
Aug 19, 2023 pm 02:09 PMDalam 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 menggunakan modul binascii.
Algoritma (langkah)
Di bawah adalah algoritma/langkah untuk melaksanakan tugas yang diperlukan. −
Gunakan kata kunci import untuk mengimport modul binascii.
Buat pembolehubah untuk menyimpan rentetan input byte.
Ekodkan rentetan bait input ke dalam nombor perenambelasan menggunakan fungsi b2a_hex() modul binascii.
Cetak nombor perenambelasan terhasil bagi rentetan bait input.
Gunakan fungsi a2b_hex() modul binascii untuk menyahkod nombor heksadesimal di atas menjadi rentetan bait.
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))
Output
Apabila melaksanakan program di atas, output berikut akan dihasilkan -
b'7475746f7269616c73706f696e7420707974686f6e' b'tutorialspoint python'
Kaedah 2: Gunakan modul base64
Modulbase64 juga 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 modul base64.
Buat pembolehubah untuk menyimpan rentetan input byte.
Enkodkan rentetan bait input ke dalam digit heksadesimal (digit heksadesimal) menggunakan fungsi b16encode() modul base64.
Cetak nombor perenambelasan terhasil bagi rentetan bait input.
Gunakan fungsi b16decode() modul base64 untuk menyahkod nombor heksadesimal di atas ke dalam rentetan bait dan mencetaknya.
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))
Output
Apabila melaksanakan program di atas, output berikut akan dihasilkan -
b'7475746f7269616c73706f696e7420707974686f6e' b'tutorialspoint python'
Menukar kepada dan dari perenambelasan adalah mudah dalam kebanyakan kes menggunakan fungsi yang diterangkan. Lipat sarung adalah perbezaan terbesar antara kedua-dua kaedah. Berbanding dengan operasi dalam binasci, fungsi base64.b16decode() dan base64.b16encode() hanya boleh mengendalikan huruf besar huruf 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 bagiContoh
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'))
Output
Apabila melaksanakan program di atas, output berikut akan dihasilkan -
b'7475746F7269616C73706F696E7420707974686F6E' 7475746F7269616C73706F696E7420707974686F6E
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah kelebihan dan kekurangan templat?

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai
