Bagaimana Anda menulis angka hex dengan python?

Heksadesimal memiliki basis 16, dan kita dapat merepresentasikan string dalam format heksadesimal menggunakan awalan 0x

Kita dapat mengonversi string menjadi heksadesimal menggunakan metode berikut

  1. Menggunakan metode hex(n).
  2. Menggunakan metode penyandian ().
  3. Menggunakan metode literal_eval()

Metode 1. Menggunakan heksa ()

Kita dapat mengonversi string menjadi heksadesimal menggunakan metode hex(). Metode hex () menerima parameter dalam bentuk integer, dan untuk itu pertama-tama, kita harus mengubah string menjadi integer dan kemudian meneruskan nilai tersebut ke metode hex () seperti yang ditunjukkan di bawah ini

Contoh. string_to_hex. py

# string_to_hex. py

str = "245FC"

# meneruskan str ke int () untuk mengubahnya menjadi int base16

base16INT = int(str, 16)

# cetak string yang dikonversi ke nilai int heksadesimal base16

cetak("nilai", base16INT)

cetak("nilai", ketik(base16INT))

nilai_hex = hex( base16INT )

cetak( nilai_hex )

# memeriksa jenis nilai

cetak(ketik( nilai_hex ))

Keluaran

nilai <kelas 'int'>

0x245fc

<kelas 'str'>

Baris 3. Kami membuat string untuk demo

Baris 6. Kami meneruskan string itu ke metode int () dengan basis 16. Sekarang, metode int() ini akan mengonversi string menjadi nilai integer heksadesimal

Baris 9. Kami mencetak nilai yang kami dapatkan setelah mengubah string menjadi bilangan bulat heksadesimal

Baris 10. Kami juga mencetak tipe nilai untuk mengonfirmasi bahwa string sekarang dalam bentuk bilangan bulat

Baris 12. Kita tahu metode hex(n) bawaan menerima nilai bilangan bulat, mengubah bilangan bulat menjadi string heksadesimal. Itu sebabnya kita perlu mengonversi string menjadi bilangan bulat untuk meneruskannya ke metode hex (). Kami meneruskan nilai INT basis 16 itu ke metode hex() dan mendapatkan nilai hex, string heksadesimal

Baris 13. Kami mencetak nilai heksadesimal yang dikonversi itu

Baris 16. Kami mencetak tipe dari nilai heksadesimal yang dikonversi, yang menunjukkan pada outputnya adalah tipe string

Jadi, sekarang kita mengonversi string menjadi nilai heksadesimal

Metode 2. Ubah string menjadi heksadesimal menggunakan encode ()

Kita juga dapat mengonversi string normal menjadi string heksadesimal yang tidak memiliki karakter heksadesimal. Untuk itu, kita harus mengubah string menjadi byte menggunakan metode encode(), kemudian kita dapat mengubah string menjadi heksadesimal seperti gambar di bawah ini

# string_to_hex_utf8. py
# ubah string menjadi byte

str= 'linuxhint' . enkode('utf-8')

# cetak string yang dikonversi ke byte

cetak(str)

# ubah byte string menjadi string heksadesimal

hex_str = str . hex()

# cetak tipe nilai heksadesimal yang dikonversi

cetak(ketik( hex_str ))

Keluaran

<kelas 'str'>

Baris 4 sampai 7. Kami membuat string yang tidak memiliki karakter heksadesimal. Dan kemudian ubah string tersebut menjadi byte menggunakan metode encode (). Dan kemudian, kami mencetak byte tersebut, yang dapat kami lihat di baris keluaran nomor 1

Baris 10 sampai 13. Kami memanggil metode hex () menggunakan operator titik, dan sekarang byte diubah menjadi nilai string heksadesimal yang kami perlukan. Untuk mengkonfirmasi jenis string hasil, kami hanya mencetak nomor baris 13, dan output menunjukkan bahwa itu adalah tipe heksadesimal string

Metode 3. Menggunakan ast. metode literal_eval()

Kita juga dapat mengonversi string menjadi bilangan bulat menggunakan metode perpustakaan ast literal_eval. Metode ini juga mengubah string menjadi bilangan bulat untuk menggunakan metode hex () untuk mengubah string menjadi string heksadesimal. Tetapi metode ini hanya menerima karakter awalan 0x

# string_to_hex_utf8. py

from ast impor literal_eval

str = "0xAAA"

# ubah string menjadi bilangan bulat

convert_str = literal_eval (str)

# cetak nilai dan tipe dari convert_str

cetak( convert_str )

cetak("ketik", ketik(convert_str))

# teruskan convert_str ke metode hex ().

nilai_hex = hex( convert_str )

cetak( nilai_hex )

# memeriksa jenis nilai

cetak(ketik( nilai_hex ))

Keluaran

2730

ketik <kelas 'int'>

0xaaa

<kelas 'str'>

Baris 2 sampai 10. Kami mengimpor metode literal_eval () dari perpustakaan ast. Kemudian kita membuat sebuah string dengan awalan 0x. Kemudian kami meneruskan string itu ke metode literal_eval() dan mengubahnya menjadi integer. Untuk mengonfirmasi bahwa keluaran dalam bentuk bilangan bulat, kami mencetaknya di nomor baris 9. Kami juga mencetak jenis keluaran, yang menunjukkan bahwa itu adalah bilangan bulat

Baris 13 sampai 17. Kita tahu metode hex(n) bawaan yang menerima nilai bilangan bulat, mengonversi bilangan bulat menjadi string heksadesimal. Itu sebabnya kita perlu mengonversi string menjadi bilangan bulat untuk meneruskannya ke metode hex (). Kami meneruskan nilai convert_str(integer) ke metode hex() dan mendapatkan hex_value, string heksadesimal. Kami mencetak nilai heksadesimal yang dikonversi itu. Kami juga mencetak tipe nilai heksadesimal yang dikonversi, yang menunjukkan bahwa ini adalah tipe string heksadesimal

Pengecualian Kesalahan (TypeError)

Terkadang kita akan mendapatkan kesalahan saat mengonversi string menjadi string heksadesimal. Alasan di balik itu adalah metode hex () hanya menerima nilai integer sebagai parameter

string_hex = "0xFF"

hex_output = hex( string_hex )

cetak( hex_output )

Keluaran

1

TypeError . 'str' objek tidak dapat diartikan sebagai an integer

Kesimpulan

Jadi, kami telah melihat berbagai metode untuk mengonversi string menjadi string huruf kecil heksadesimal. Metode hex() sangat populer karena mudah digunakan. Namun terkadang, kita ingin mengonversi string tanpa menggunakan awalan 0x, jadi dalam hal ini, kita dapat menggunakan metode byte encode (), seperti yang telah kita lihat di artikel

Bagaimana Anda memberikan nilai hex dengan Python?

Fungsi Python hex() digunakan untuk mengonversi bilangan bulat menjadi string heksadesimal huruf kecil yang diawali dengan "0x". Kita juga dapat meneruskan objek ke fungsi hex(), dalam hal ini objek harus memiliki fungsi __index__() yang ditentukan yang mengembalikan bilangan bulat . Argumen integer input dapat dalam basis apa pun seperti biner, oktal, dll.

Bagaimana Anda menulis digit hex?

Memasukkan Ctrl + ⇧ Shift + u , melepaskan, lalu mengetik digit hex dan menekan ↵ Enter (atau Spasi atau bahkan, pada beberapa .

Bagaimana Anda menetapkan hex ke variabel di Python?

Untuk menetapkan nilai dalam format heksadesimal ke variabel, kita menggunakan akhiran 0x atau 0X . Ini memberi tahu kompiler bahwa nilai (diakhiri dengan 0x atau 0X) adalah nilai heksadesimal dan menugaskannya ke variabel.

Bagaimana Anda menetapkan hex ke int di Python?

Anda dapat mengonversi hexstring menjadi integer dengan Python menggunakan metode literal_eval() dari pustaka ast (Abstract Syntax Trees) . Kita harus meneruskan string hex ke fungsi literal_eval(), tidak ada parameter, fungsi mengubah string hex menjadi bilangan bulat.