Ievadiet heksadecimālo skaitli programmā Python

String Hexadecimal Python



Heksadecimālā bāze ir 16, un mēs varam attēlot virkni heksadecimālā formātā, izmantojot prefiksu 0x.

Mēs varam pārvērst virkni heksadecimālā, izmantojot šādas metodes:







  1. Izmantojot hex (n) metodi
  2. Izmantojot kodēšanas () metodi
  3. Izmantojot literal_eval () metodi

1. metode: hex () izmantošana

Mēs varam pārvērst virkni heksadecimālā, izmantojot hex () metodi. Metode hex () pieņem parametru vesela skaitļa formā, un, pirmkārt, mums ir jāpārvērš virkne par veselu skaitli un pēc tam jānodod šī vērtība hex () metodei, kā parādīts zemāk:



Piemērs: string_to_hex.py

1
2
3
4
5
6
7
8
9
10
vienpadsmit
12
13
14
piecpadsmit
16
17
18
19
divdesmit
divdesmitviens
# string_to_hex.py

lpp = '245FC'

# nododiet str int (), lai to pārvērstu par base16 int

base16INT= int(lpp, 16)

# izdrukājiet konvertēto virkni uz base16 heksadecimālo int vērtību

drukāt('vērtība',base16INT)

drukāt('vērtība',tipa(base16INT))

hex_value= hex(base16INT)

drukāt(hex_value)

# noskaidrojot vērtības veidu

drukāt(tipa(hex_value))

Izeja:

1
2
3
4
5
6
7
vērtību148988

vērtību<klase 'int'>

0x245fc

<klase 'str'>

3. rinda: mēs izveidojām virkni demonstrācijai.

6. rinda: Mēs nododam šo virkni metodei int () ar bāzi 16. Tagad šī int () metode pārveidos virkni par heksadecimālu veselu skaitli.



9. rinda: Mēs drukājam vērtību, ko iegūstam pēc virknes konvertēšanas uz veselu skaitli heksadecimālā.





10. rinda: Mēs arī izdrukājam vērtības tipu, lai apstiprinātu, ka virkne tagad ir vesels skaitlis.

12. rinda: Mēs zinām, ka iebūvētā sešstūra (n) metode pieņem veselu skaitļu vērtību, veselu skaitli pārvēršot heksadecimālā virknē. Tāpēc virkne ir jāpārvērš par veselu skaitli, lai to pārvērstu hex () metodē. Mēs nodevām šo base16INT vērtību hex () metodei un saņēmām hex_value, string hexadecimal.



13. rinda: Mēs drukājam šo konvertēto heksadecimālo vērtību.

16. rinda: Mēs drukājam konvertētās heksadecimālās vērtības veidu, kas izvadē parāda, ka tas ir virknes veids.

Tātad, tagad mēs pārveidojām virkni par heksadecimālu vērtību.

2. metode: pārveidojiet virkni heksadecimālā, izmantojot kodu ()

Mēs varam arī pārvērst parasto virkni par heksadecimālu virkni, kurai nav heksadecimālu rakstzīmju. Lai to izdarītu, mums ir jāpārvērš virkne par baitu, izmantojot metodes kodējumu (), un pēc tam mēs varam pārvērst virkni heksadecimālā formā, kā parādīts zemāk:

1
2
3
4
5
6
7
8
9
10
vienpadsmit
12
13
14
piecpadsmit
16
17
18
19
divdesmit
divdesmitviens
22
2. 3
24
25
# string_to_hex_utf8.py



# konvertējiet virkni uz baitiem

lpp= 'linuxhint'.kodēt('utf-8')



# izdrukājiet konvertēto virkni baitos

drukāt(lpp)



# konvertējiet virkņu baitus uz heksadecimālo virkni

hex_str= lpp.hex()



# izdrukājiet konvertēto heksadecimālo vērtību tipu

drukāt(tipa(hex_str))

Izeja:

1
2
3
b'linuxhint'

<klase 'str'>

4. līdz 7. rinda: Mēs izveidojām virkni, kurai nav heksadecimālu rakstzīmju. Un pēc tam konvertējiet šīs virknes uz baitiem, izmantojot kodēšanas () metodi. Un tad mēs izdrukājam tos baitus, kurus varam redzēt izvades rindas numurā 1.

10. līdz 13. rinda: Mēs izsaucam hex () metodi, izmantojot punktu operatoru, un tagad baiti tiek pārvērsti par vajadzīgo heksadecimālo virknes vērtību. Lai apstiprinātu rezultātu virknes veidu, mēs vienkārši izdrukājam rindas numuru 13, un izvade parāda, ka tā ir virknes heksadecimāla tipa.

3. metode. Izmantojot ast.literal_eval () metodi

Mēs varam arī pārvērst virkni par veselu skaitli, izmantojot ast bibliotēkas metodi literal_eval. Šī metode arī pārveido virkni par veselu skaitli, lai izmantotu hex () metodi, lai virkni pārvērstu par heksadecimālu virkni. Bet šī metode pieņem tikai 0x prefiksa rakstzīmes.

1
2
3
4
5
6
7
8
9
10
vienpadsmit
12
13
14
piecpadsmit
16
17
18
19
divdesmit
divdesmitviens
22
2. 3
24
25
26
27
28
29
30
31
32
33
# string_to_hex_utf8.py

nofiliāleimportētliteral_eval

lpp = '0xAAA'



# pārvērst virkni par veselu skaitli

convert_str=literal_eval(lpp)



# izdrukājiet konvertēšanas_str. vērtību un veidu

drukāt(convert_str)

drukāt('tips', tipa(convert_str))



# nododiet convert_str hex () metodei

hex_value= hex(convert_str)

drukāt(hex_value)



# noskaidrojot vērtības veidu

drukāt(tipa(hex_value))

Izeja:

1
2
3
4
5
6
7
2730

tipa <klase 'int'>

0xaaa

<klase 'str'>

2. līdz 10. rinda: Mēs importējam metodi literal_eval () no ast bibliotēkas. Tad mēs izveidojam virkni ar prefiksu 0x. Tad mēs šo virkni nodevām metodei literal_eval () un pārveidojām to par veselu skaitli. Lai apstiprinātu, ka izvade ir vesela skaitļa formā, mēs to izdrukājam ar rindas numuru 9. Mēs arī izdrukājam izvades veidu, kas parāda, ka tas ir vesels skaitlis.

13. līdz 17. rinda: Mēs zinām iebūvēto hex (n) metodi, kas pieņem veselu skaitļu vērtību, veselu skaitli pārvēršot heksadecimālā virknē. Tāpēc virkne ir jāpārvērš par veselu skaitli, lai to pārvērstu hex () metodē. Mēs nodevām vērtību convert_str (vesels skaitlis) hex () metodei un saņēmām hex_value, string hexadecimal. Mēs drukājam šo konvertēto heksadecimālo vērtību. Mēs arī drukājam konvertētās heksadecimālās vērtības veidu, kas parāda, ka tas ir virknes heksadecimāls tips.

Kļūdas izņēmums (TypeError):

Dažreiz mēs saņemsim kļūdas, pārveidojot virkni par heksadecimālu virkni. Iemesls tam ir hex () metode kā parametru pieņem tikai veselu skaitļu vērtību.

1
2
3
4
5
6
7
string_hex= '0xFF'



hex_output= hex(string_hex)

drukāt(hex_output)

Izeja:

1
Tipa kļūda:'str' objektsnevar interpretētvesels skaitlis

Secinājums:

Tātad, mēs esam redzējuši dažādas metodes, kā virkni pārvērst par heksadecimālu mazo virkni. Hex () metode ir ļoti populāra, jo to ir viegli izmantot. Bet dažreiz mēs vēlamies pārvērst virkni, neizmantojot prefiksu 0x, tāpēc tādā gadījumā mēs varam izmantot baitu kodēšanas () metodi, kā mēs jau redzējām rakstā.

Šī raksta kods ir pieejams zemāk esošajā github saitē:

https://github.com/shekharpandey89/string-to-hex-conversion