String Pythonis kuueteistkümnendarvuni

String Hexadecimal Python



Kuueteistkümnendarv on 16 ja me saame esitada stringi kuueteistkümnendsüsteemis, kasutades eesliidet 0x.

Saame stringi teisendada kuueteistkümnendiks, kasutades järgmisi meetodeid:







  1. Hex (n) meetodi kasutamine
  2. Encode () meetodi kasutamine
  3. Kasutades meetodit literal_eval ()

1. meetod: kuusnurga () kasutamine

Me saame stringi teisendada kuueteistkümnendiks, kasutades meetodit hex (). Hex () meetod aktsepteerib parameetrit täisarvuna ja selleks peame esmalt stringi täisarvuks teisendama ja seejärel selle väärtuse hex () meetodile edastama, nagu allpool näidatud:



Näide: string_to_hex.py

1
2
3
4
5
6
7
8
9
10
üksteist
12
13
14
viisteist
16
17
18
19
kakskümmend
kakskümmend üks
# string_to_hex.py

lk = '245FC'

# edastage str int (), et muuta see base16 int

base16INT= int(lk, 16)

# printige teisendatud string base16 kuueteistkümnendsüsteemi väärtuseks

printida('väärtus',base16INT)

printida('väärtus',tüüpi(base16INT))

hex_value= kuuskant(base16INT)

printida(hex_value)

# väärtuse tüübi kontrollimine

printida(tüüpi(hex_value))

Väljund:

1
2
3
4
5
6
7
väärtus148988

väärtus<klassi 'int'>

0x245fc

<klassi 'str'>

3. rida: lõime demo jaoks stringi.

6. rida: Edastame selle stringi meetodile int () koos alusega 16. Nüüd teisendab see int () meetod stringi kuueteistkümnendarvuks.



9. rida: Trükime väärtuse, mille saame pärast stringi teisendamist täisarvuliseks kuueteistkümnendkohaks.





Rida 10: Prindime ka väärtuse tüübi, kinnitamaks, et string on nüüd täisarvu kujul.

Rida 12: Me teame, et sisseehitatud kuuskantmeetod (n) aktsepteerib täisarvu väärtust, teisendades täisarvu kuueteistkümnendiks. Sellepärast peame stringi täisarvuks teisendama, et see hex () meetodiks edastada. Edastasime selle base16INT väärtuse meetodile hex () ja saime hex_value, string hexadecimal.



Rida 13: Prindime selle teisendatud kuueteistkümnendsüsteemi väärtuse.

16. rida: Prindime teisendatud kuueteistkümnendsüsteemi väärtuse tüübi, mis näitab väljundis stringi tüüpi.

Niisiis, teisendasime stringi kuueteistkümnendsüsteemi väärtuseks.

Meetod: teisendage string kodeeringu () abil kuueteistkümnendsüsteemi

Võime ka tavalise stringi teisendada kuueteistkümnendiks, millel pole kuueteistkümnendmärki. Selleks peame stringi teisendama baidiks, kasutades meetodit encode (), ja seejärel saame stringi teisendada kuueteistkümnendiks, nagu allpool näidatud:

1
2
3
4
5
6
7
8
9
10
üksteist
12
13
14
viisteist
16
17
18
19
kakskümmend
kakskümmend üks
22
2. 3
24
25
# string_to_hex_utf8.py



# teisenda string baitideks

lk= 'linuxhint'.kodeerida('utf-8')



# printige teisendatud string baitideks

printida(lk)



# teisendage stringi baidid kuueteistkümnendiks

hex_str= lk.kuuskant()



# printige teisendatud kuueteistkümnendsüsteemi väärtustüüp

printida(tüüpi(hex_str))

Väljund:

1
2
3
b'linuxhint'

<klassi 'str'>

Rida 4 kuni 7: Lõime stringi, millel pole kuueteistkümnendmärki. Seejärel teisendage need stringid baitideks, kasutades meetodit encode (). Ja siis prindime need baidid, mida näeme väljundrea numbril 1.

Rida 10 kuni 13: Me kutsume hex () meetodit punktoperaatori abil ja nüüd teisendatakse baidid kuueteistkümnendsüsteemi väärtuseks, mida me vajame. Tulemusstringi tüübi kinnitamiseks trükime lihtsalt rea numbri 13 ja väljund näitab, et see on stringi kuueteistkümnendsüsteemis.

Meetod 3. Ast.literal_eval () meetodi kasutamine

Samuti saame stringi täisarvuks teisendada, kasutades ast raamatukogu meetodit literal_eval. See meetod teisendab stringi ka täisarvuks, et kasutada hex () meetodit stringi teisendamiseks kuueteistkümnendiks. Kuid see meetod aktsepteerib ainult 0x eesliite märke.

1
2
3
4
5
6
7
8
9
10
üksteist
12
13
14
viisteist
16
17
18
19
kakskümmend
kakskümmend üks
22
2. 3
24
25
26
27
28
29
30
31
32
33
# string_to_hex_utf8.py

alatesharuimportliteral_eval

lk = '0xAAA'



# teisenda string täisarvuks

convert_str=literal_eval(lk)



# prindi väärtus ja tüüp convert_str

printida(convert_str)

printida('tüüp', tüüpi(convert_str))



# edastage convert_str meetodile hex ()

hex_value= kuuskant(convert_str)

printida(hex_value)



# väärtuse tüübi kontrollimine

printida(tüüpi(hex_value))

Väljund:

1
2
3
4
5
6
7
2730

tüüpi <klassi 'int'>

0xaaa

<klassi 'str'>

Rida 2 kuni 10: Impordime meetodi literal_eval () ast raamatukogust. Seejärel loome stringi eesliitega 0x. Seejärel edastasime selle stringi meetodile literal_eval () ja teisendasime selle täisarvuks. Kinnitamaks, et väljund on täisarvuline, prindime selle reale number 9. Samuti prindime väljundi tüübi, mis näitab, et see on täisarv.

Rida 13 kuni 17: Me teame sisseehitatud kuuskantmeetodit (n), mis võtab vastu täisarvu väärtuse, teisendades täisarvu kuueteistkümnendiks. Sellepärast peame stringi täisarvuks teisendama, et see hex () meetodiks edastada. Edastasime selle väärtuse convert_str (täisarv) hex () meetodile ja saime hex_value, string hexadecimal. Prindime selle teisendatud kuueteistkümnendsüsteemi väärtuse. Prindime ka teisendatud kuueteistkümnendsüsteemi väärtuse tüübi, mis näitab, et tegemist on stringi kuueteistkümnendarvuga.

Vea erand (TypeError):

Mõnikord saame stringi kuueteistkümnendsüsteemiks teisendamisel vigu. Selle põhjuseks on hex () meetod, mis aktsepteerib parameetrina ainult täisarvu väärtust.

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



hex_output= kuuskant(string_hex)

printida(hex_output)

Väljund:

1
Tüüpviga:'str' objektiei saa tõlgendadanagutäisarv

Järeldus:

Niisiis, oleme näinud erinevaid meetodeid stringi teisendamiseks kuueteistkümnendsüsteemi väiketäheks. Hex () meetod on selle lihtsa kasutamise tõttu väga populaarne. Kuid mõnikord tahame stringi teisendada ilma eesliidet 0x kasutamata, nii et sel juhul saame kasutada baitide kodeerimise () meetodit, nagu oleme juba artiklist näinud.

Selle artikli kood on saadaval alloleval githubi lingil:

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