Sådan omdanner du hexadecimal tekst til almindelig tekst
Hexadecimal til tekst handler om at læse tal skrevet i grundtal 16 som tegn. Hexadecimale værdier bruges ofte til at vise data kompakt, fordi hvert ciffer kan repræsentere fire bits. To hexadecimale cifre svarer derfor til én byte, som i mange tekstformater kan stå for ét tegn. For at fortolke værdierne skal du kende den tegnkodning, der blev brugt til at gemme teksten. Uden den oplysning kan samme byte i nogle tilfælde få forskellig betydning.
Hvad hexadecimal tekst betyder
Det hexadecimale talsystem bruger cifrene 0 til 9 og bogstaverne A til F. Bogstaverne står for værdierne 10 til 15. Store og små bogstaver betyder det samme i en hexværdi. En byte skrives typisk med to hexadecimale cifre, eksempelvis 41. Denne værdi er decimal 65, fordi første ciffer står for fire hele grupper af 16, og det andet for nul enere: 4 × 16 + 1 = 65.
I ASCII-kodningen repræsenterer decimal 65 det store bogstav A. Derfor kan hexværdien 41 læses som A, når den tolkes efter ASCII. Det er ikke hexadecimalformen i sig selv, der indeholder bogstavet; sammenhængen mellem byteværdien og tegnet kommer fra kodningen.
Sådan læser du værdierne trin for trin
Find bytegrænserne. Del den hexadecimale sekvens i par af cifre, hvis den er skrevet uden mellemrum. Hvert par behandles som én byte. Hvis antallet af cifre er ulige, mangler der sandsynligvis en afgrænsning eller en værdi, så kontrollér kilden, før du fortsætter.
Omregn hvert par til decimal. Gang værdien af det første ciffer med 16, og læg værdien af det andet ciffer til. For 4A bliver regnestykket 4 × 16 + 10 = 74, fordi A har værdien 10.
Slå byteværdien op i den relevante kodning. I ASCII svarer decimal 74 til J. Gentag fremgangsmåden for alle bytepar, og sæt tegnene sammen i samme rækkefølge som værdierne.
Kontrollér tegnkodningen. Hvis data indeholder tegn uden for det almindelige engelske alfabet, kan de være kodet med UTF-8 eller en anden tegnkodning. I UTF-8 kan ét tegn fylde flere bytes, så bytes skal fortolkes samlet efter kodningens regler og ikke altid hver for sig.
Som et kort eksempel bliver hexsekvensen 48 69 til H og i i ASCII: 48 er decimal 72, og 72 svarer til H; 69 er decimal 105, og 105 svarer til i. Den læste tekst er dermed Hi.
Hvor metoden bruges
Hexadecimal visning forekommer i programmering, fejlsøgning og inspektion af filer, hvor rå bytes ellers kan være svære at læse. Den kan også ses i tekniske beskeder eller dataudtræk. Hexværdier er nyttige, når præcise byteværdier skal sammenlignes, men de fortæller ikke altid alene, om indholdet er tekst. En fil kan indeholde tal, billeder eller andre binære data, og tilfældige byteværdier bliver ikke nødvendigvis til meningsfulde bogstaver.
Hvis resultatet ser forkert ud, bør du først kontrollere, at alle cifre er grupperet korrekt, og at værdierne er gyldige hexadecimale cifre. Undersøg derefter, hvilken tegnkodning dataene følger. Mellemrum mellem bytepar er ofte kun til læsbarhed og ændrer ikke selve værdierne, mens en forkert kodning kan ændre, hvilke tegn bytes repræsenterer.