Hexadecimal ha una base di 16 e possiamo rappresentare una stringa in formato esadecimale usando il prefisso 0x.
Possiamo convertire la stringa in esadecimale usando i seguenti metodi:
Metodo 1: usando l'esagono ()
Possiamo convertire la stringa in esadecimale usando il metodo hex (). Il metodo Hex () accetta il parametro in forma intera e, per prima cosa, dobbiamo convertire la stringa in un numero intero e quindi passare quel valore al metodo esadecimale () come mostrato di seguito:
Esempio: String_to_hex.Py
# String_to_hex.PyProduzione:
valoreRiga 3: abbiamo creato una stringa per la demo.
Riga 6: Passiamo quella stringa al metodo int () con la base 16. Ora, questo metodo int () convertirà la stringa nel valore intero esadecimale.
Riga 9: Stampiamo il valore che otteniamo dopo aver convertito la stringa in intero esadecimale.
Riga 10: Stampiamo anche il tipo di valore per confermare che la stringa è ora sotto forma di un numero intero.
Riga 12: Sappiamo che il metodo esagonale (n) integrato accetta il valore intero, convertendo l'intero nella stringa esadecimale. Ecco perché dobbiamo convertire la stringa in un numero intero per trasmetterla nel metodo HEX (). Abbiamo superato quel valore Base16Int al metodo Hex () e abbiamo ottenuto HEX_VALUE, String Exadecimal.
Riga 13: Stampiamo quel valore esadecimale convertito.
Riga 16: Stampiamo il tipo di valore esadecimale convertito, che mostra nell'output è un tipo di stringa.
Quindi, ora abbiamo convertito la stringa in un valore esadecimale.
Metodo 2: convertire la stringa in esadecimale usando ENCODE ()
Possiamo anche convertire la stringa normale in una stringa esadecimale che non ha alcun carattere esadecimale. Per questo, dobbiamo convertire la stringa in byte usando il metodo code (), quindi possiamo convertire la stringa in esadecimale come mostrato di seguito:
# String_to_hex_utf8.PyProduzione:
Riga da 4 a 7: Abbiamo creato una stringa che non ha alcun carattere esadecimale. E quindi convertire quelle stringhe in byte usando il metodo ENCODE (). E poi, stampiamo quei byte, che possiamo vedere nella riga di output numero 1.
Riga da 10 a 13: Chiamiamo il metodo Hex () usando l'operatore DOT e ora i byte vengono convertiti nel valore della stringa esadecimale che abbiamo richiesto. Per confermare il tipo di stringa dei risultati, stampiamo semplicemente la riga numero 13 e l'output mostra che è in un tipo di stringa esadecimale.
Metodo 3. Usando AST.Metodo Literal_eval ()
Possiamo anche convertire la stringa in un numero intero usando il metodo della libreria AST Literal_eval. Questo metodo converte anche la stringa in un numero intero per utilizzare il metodo hex () per convertire la stringa in stringa esadecimale. Ma questo metodo accetta solo i caratteri del prefisso 0x.
# String_to_hex_utf8.PyProduzione:
2730Riga da 2 a 10: Importiamo il metodo Literal_eval () dalla libreria AST. Quindi creiamo una stringa con il prefisso 0x. Quindi abbiamo superato quella stringa al metodo letterale_eval () e l'abbiamo convertita in numero intero. Per confermare che l'output è in forma intero, lo stampiamo nella riga numero 9. Stampiamo anche il tipo di output, che mostra che è un numero intero.
Riga 13 a 17: Conosciamo il metodo esagonale (n) integrato che accetta il valore intero, convertendo l'intero nella stringa esadecimale. Ecco perché dobbiamo convertire la stringa in un numero intero per trasmetterla nel metodo HEX (). Abbiamo superato quel valore convert_str (intero) al metodo hex () e abbiamo ottenuto HEX_VALUE, stringa esadecimale. Stampiamo quel valore esadecimale convertito. Stamphiamo anche il tipo di valore esadecimale convertito, che mostra che è un tipo esadecimale stringa.
Eccezione di errore (TypeEerror):
A volte riceveremo errori durante la conversione della stringa in una stringa esadecimale. Il motivo alla base di questo è il metodo hex () accetta solo il valore intero come parametro.
String_hex = "0xff"Produzione:
1 | L'oggetto "Str" non può essere interpretato come un numero intero |
Conclusione:
Quindi, abbiamo visto metodi diversi per convertire la stringa in una stringa minuscolo esadecimale. Il metodo hex () è molto popolare per il suo facile utilizzo. Ma a volte, vogliamo convertire la stringa senza usare il prefisso 0x, quindi in quel caso, possiamo usare il metodo byte code (), come abbiamo già visto nell'articolo.
Il codice di questo articolo è disponibile sul collegamento Github di seguito:
https: // github.com/shekharpandey89/string-to-hex-conversion