Низ у хексадецимални број у Питхону

String Hexadecimal Python



Хексадецимална база има 16, а можемо приказати низ у хексадецималном формату користећи префикс 0к.

Низ можемо претворити у хексадецимални помоћу следећих метода:







  1. Коришћењем хек (н) методе
  2. Коришћењем методе енцоде ()
  3. Коришћењем методе литерал_евал ()

1. метод: Коришћење хек ()

Низ можемо претворити у хексадецимални помоћу хек () методе. Метода хек () прихвата параметар у облику целог броја, и за то прво морамо да конвертујемо низ у цео број, а затим да пренесемо ту вредност у методу хек () као што је приказано испод:



Пример: стринг_то_хек.пи

1
2
3
4
5
6
7
8
9
10
Једанаест
12
13
14
петнаест
16
17
18
19
двадесет
двадесет један
# стринг_то_хек.пи

п = '245ФЦ'

# проследите стр у инт () да бисте га претворили у басе16 инт

басе16ИНТ= инт(п, 16)

# одштампајте конвертовани низ у хексадецималну инт вредност басе16

принт('вредност',басе16ИНТ)

принт('вредност',тип(басе16ИНТ))

хек_валуе= хек(басе16ИНТ)

принт(хек_валуе)

# провера типа вредности

принт(тип(хек_валуе))

Излаз:

1
2
3
4
5
6
7
вредност148988

вредност<класа 'инт'>

0к245фц

<класа 'стр'>

3. ред: Направили смо низ за демонстрацију.

Ред 6: Тај низ прослеђујемо инт () методи са базом 16. Сада ће ова инт () метода конвертовати стринг у хексадецималну целобројну вредност.



Ред 9: Штампамо вредност коју добијемо након претварања низа у целобројни хексадецимални.





Ред 10: Такође штампамо тип вредности како бисмо потврдили да је низ сада у облику целог броја.

Ред 12: Знамо да уграђена хек (н) метода прихвата целобројну вредност, претварајући цео број у хексадецимални низ. Зато морамо претворити низ у цео број да бисмо га проследили у хек () методу. Ту вредност басе16ИНТ смо проследили хек () методи и добили хекадецималну вредност хек_валуе, стринг.



Ред 13: Штампамо ту конвертовану хексадецималну вредност.

Ред 16: Штампамо тип конвертоване хексадецималне вредности, што у излазу показује да је то стринг.

Дакле, сада смо претворили низ у хексадецималну вредност.

2. метод: Претворите низ у хексадецимални помоћу енцоде ()

Такође можемо претворити нормални низ у хексадецимални низ који нема хексадецимални знак. За то морамо претворити низ у бајт помоћу методе енцоде (), а затим можемо претворити низ у хексадецимални као што је приказано испод:

1
2
3
4
5
6
7
8
9
10
Једанаест
12
13
14
петнаест
16
17
18
19
двадесет
двадесет један
22
2. 3
24
25
# стринг_то_хек_утф8.пи



# конвертујте стринг у бајтове

п= 'линукхинт'.кодирати('утф-8')



# одштампајте конвертовани низ у бајтове

принт(п)



# конвертујте бајтове низа у хексадецимални низ

хек_стр= п.хек()



# одштампајте конвертовани хексадецимални тип вредности

принт(тип(хек_стр))

Излаз:

1
2
3
б'линукхинт'

<класа 'стр'>

Редови 4 до 7: Направили смо низ који нема хексадецимални карактер. А затим конвертујте те низове у бајтове помоћу методе енцоде (). И онда штампамо те бајтове које можемо видети у излазној линији број 1.

Редови 10 до 13: Позивамо методу хек () помоћу оператора тачка, а сада се бајтови претварају у хексадецималну вредност низа која нам је потребна. Да бисмо потврдили тип резултујућег низа, само штампамо ред број 13, а излаз показује да је у низу хексадецималног типа.

Метод 3. Коришћењем методе аст.литерал_евал ()

Такође можемо претворити низ у цео број помоћу методе библиотеке аст литерал_евал. Ова метода такође претвара низ у цео број да користи хек () методу за претварање низа у хексадецимални низ. Али овај метод прихвата само 0к знакове префикса.

1
2
3
4
5
6
7
8
9
10
Једанаест
12
13
14
петнаест
16
17
18
19
двадесет
двадесет један
22
2. 3
24
25
26
27
28
29
30
31
32
33
# стринг_то_хек_утф8.пи

фромфилијалаувозлитерал_евал

п = „0кААА“



# конвертујте стринг у цео број

цонверт_стр=литерал_евал(п)



# одштампајте вредност и тип цонверт_стр

принт(цонверт_стр)

принт('тип', тип(цонверт_стр))



# проследите цонверт_стр у методу хек ()

хек_валуе= хек(цонверт_стр)

принт(хек_валуе)



# провера типа вредности

принт(тип(хек_валуе))

Излаз:

1
2
3
4
5
6
7
2730

тип <класа 'инт'>

0кааа

<класа 'стр'>

Редови 2 до 10: Увозимо метод литерал_евал () из библиотеке аст. Затим креирамо низ са префиксом 0к. Затим смо тај низ проследили методу литерал_евал () и претворили у цео број. Да бисмо потврдили да је излаз у целобројном облику, штампамо га у реду број 9. Штампамо и тип излаза који показује да је цео број.

Редови 13 до 17: Знамо уграђени хек (н) метод који прихвата целобројну вредност, претварајући цео број у хексадецимални низ. Зато морамо претворити низ у цео број да бисмо га проследили у хек () методу. Ту вредност цонверт_стр (интегер) смо проследили методи хек () и добили хекадецималну вредност хек_валуе, стринг. Штампамо ту конвертовану хексадецималну вредност. Штампамо и тип конвертоване хексадецималне вредности, што показује да је то низ хексадецималног типа.

Изузетак грешке (ТипеЕррор):

Понекад ћемо добити грешке приликом претварања низа у хексадецимални низ. Разлог томе је хек () метода која прихвата само целобројну вредност као параметар.

1
2
3
4
5
6
7
стринг_хек= '0кФФ'



хек_оутпут= хек(стринг_хек)

принт(хек_оутпут)

Излаз:

1
ТипеЕррор:'стр' објекатне може се тумачитикаоцео број

Закључак:

Дакле, видели смо различите методе за претварање низа у хексадецимални низ малих слова. Метода хек () је веома популарна због своје лаке употребе. Али понекад желимо да конвертујемо стринг без употребе префикса 0к, па у том случају можемо користити методу битес енцоде (), као што смо већ видели у чланку.

Код овог чланка доступан је на доњој гитхуб линци:

хттпс://гитхуб.цом/схекхарпандеи89/стринг-то-хек-цонверсион