Kodare och avkodare för hex (Base16)

Konvertera text, filer eller råa byte till hexadecimal form och tillbaka. Välj skiftläge, avgränsare och prefixet 0x eller \x; avkodaren städar själv upp vanliga hexformat.

Körs helt i din webbläsare. Inget laddas upp.

Så använder du verktyget

  1. Välj Koda för att göra om text till hex, eller Avkoda för att göra om hex till text.
  2. Skriv eller klistra in indatan, eller öppna en fil för att se dess byte i hex.
  3. Ställ in alternativen: Versaler, en avgränsare (Ingen, Mellanslag eller Kolon) och ett prefix (Ingen, 0x eller \x).
  4. Kopiera resultatet eller ladda ned det som en fil.

Vad är hexadecimal form (Base16)?

Det hexadecimala talsystemet använder sexton symboler, siffrorna 0 till 9 och bokstäverna A till F. En hexsiffra rymmer fyra bitar, så varje byte skrivs som exakt två siffror, från 00 till FF. Utdatan blir dubbelt så stor som indatan, mer än med Base64 eller Base32, men gränserna mellan bytena förblir synliga, och därför visar felsökare, hexredigerare och nätverksverktyg data på det här sättet.

RFC 4648 standardiserar kodningen som Base16, med ett alfabet av versaler och utan utfyllnad. I praktiken är gemener lika vanliga, och avkodare, inklusive den här, accepterar båda.

Var hex används

  • Hashvärden och nycklar. Ett SHA-256-hashvärde är 32 byte och skrivs som 64 hexsiffror. Kryptografiska nycklar, UUID:er och kontrollsummor visas också oftast i hex.
  • Hårdvaruadresser. MAC-adresser är sex byte i hex, normalt åtskilda av kolon. Avgränsaren Kolon ger just det formatet.
  • Escapesekvenser. Strängar i C, Python och JavaScript accepterar \x följt av två hexsiffror för en enskild byte, vilket är precis vad prefixalternativet \x skriver ut.
  • Webbformat. CSS-färger som #FF8800 är tre byte i hex, och procentkodning i URL:er skriver byte som % följt av två hexsiffror.

Avkoda hex till text

Avkodaren är förlåtande när det gäller formatering. Den accepterar siffror med både versaler och gemener, ignorerar mellanslag, radbrytningar, kommatecken, kolon, semikolon och bindestreck, och tar bort prefixen 0x, \x, % och &#x. Utdata från xxd -p, MAC-adresser, UUID:er, kommaseparerade 0x-listor, %XX-sekvenser och hexadecimala HTML-entiteter kan klistras in som de är. Varje byte kräver två siffror, så ett udda antal siffror rapporteras som ett fel. Bytena visas som text i den valda teckenkodningen.

För att göra om hex till en annan kodning utan att gå via text använder du Hex till Base64 eller Base64 till hex.

Hex i programkod

# Python
'Hi'.encode().hex()                 # '4869'
bytes.fromhex('4869').decode()      # 'Hi'

// Node.js
Buffer.from('Hi').toString('hex')             // '4869'
Buffer.from('4869', 'hex').toString('utf8')   // 'Hi'

# Shell
printf 'Hi' | xxd -p                # 4869

Specifikation

Alfabet0-9 A-F
Utdatastorlek2 tecken per byte (200 %)
UtfyllnadIngen
StandardRFC 4648 avsnitt 8
SkiftlägeskänsligNej

Exempel

Indata (UTF-8)Utdata
Hello, World!48656c6c6f2c20576f726c6421
Base64.is4261736536342e6973
你好e4bda0e5a5bd

Vanliga frågor

Hur konverterar jag hex till text?

Växla till Avkoda och klistra in hexvärdet. Mellanslag, kolon och prefixen 0x eller \x tas bort automatiskt, och bytena visas som UTF-8-text om du inte väljer en annan teckenkodning.

Ska hex skrivas med versaler eller gemener?

Båda representerar samma byte. RFC 4648 använder versaler, medan många programspråk skriver ut gemener. Slå på Versaler om målsystemet förväntar sig stora bokstäver; avkodaren accepterar båda.

Varför är hex dubbelt så långt som originalet?
Varje byte blir två tecken, en ökning med 100 %. Base64 lägger bara till ungefär 33 %. Om storleken spelar roll kan du konvertera bytena med Hex till Base64.
Är det här samma sak som att konvertera ett tal till hex?
Inte riktigt. Det här verktyget kodar en följd av byte, till exempel bytena i en text. För att konvertera ett enskilt heltal, till exempel 255 till FF, använder du talbaskonverteraren.