Хексадецимална база има 16, а можемо приказати низ у хексадецималном формату користећи префикс 0к.
Низ можемо претворити у хексадецимални помоћу следећих метода:
- Коришћењем хек (н) методе
- Коришћењем методе енцоде ()
- Коришћењем методе литерал_евал ()
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к, па у том случају можемо користити методу битес енцоде (), као што смо већ видели у чланку.
Код овог чланка доступан је на доњој гитхуб линци: