Så använder du verktyget
- Välj Koda för att göra om text till decimala tal, eller Avkoda för att göra om tal till text.
- Skriv eller klistra in indatan, eller öppna en fil. Resultatet uppdateras medan du skriver.
- Välj en avgränsare för talen: Mellanslag, Kommatecken eller Ny rad.
- Kopiera talen eller ladda ned dem som en fil.
Decimala bytevärden och ASCII-koder
Varje tecken i en dator lagras som en eller flera byte, och en byte är helt enkelt ett tal från 0 till 255. Det här verktyget skriver vart och ett av dessa tal med vanlig decimal notation. För engelsk text är talen de välbekanta ASCII-koderna: versaler går från 65 till 90, gemener från 97 till 122, siffrorna 0 till 9 från 48 till 57, och ett mellanslag är 32. Styrtecken ligger under 32, till exempel 10 för radmatning och 13 för vagnretur.
Resultatet är samma lista som du får från ord() i Python eller genom att läsa en Uint8Array i JavaScript, och det är ett smidigt sätt att hitta osynliga tecken, radslut eller en byteordningsmarkering (BOM) i en sträng.
Ett tal per byte, inte ett stort tal
Konverteringen sker byte för byte: ett ord på två bokstäver blir två tal, inte ett enda heltal. Värden över 127 förekommer aldrig i ASCII-text. I UTF-8 kommer de i följder om två till fyra byte som tillsammans bildar ett tecken, och därför ger en bokstav med accent, ett å eller ett kinesiskt tecken flera tal. För ett värde per tecken i västeuropeisk text väljer du ISO-8859-1, där varje bytevärde är lika med tecknets kodpunkt i Unicode, eller Windows-1252.
För att i stället konvertera ett enskilt tal mellan talbaser, till exempel 255 till hexadecimal form, använder du talbaskonverteraren. För att se samma byte i andra notationer kan du prova hex eller binärt.
Decimala bytevärden i programkod
# Python
list('Hi'.encode()) # [72, 105]
bytes([72, 105]).decode() # 'Hi'
// JavaScript
[...new TextEncoder().encode('Hi')] // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105])) // 'Hi'
Specifikation
| Alfabet | 0-9 |
|---|---|
| Utdatastorlek | 1 till 3 siffror per byte, plus avgränsare |
| Utfyllnad | Ingen |
| Standard | Decimala bytevärden |
| Skiftlägeskänslig | Nej |
Exempel
| Indata (UTF-8) | Utdata |
|---|---|
Hello, World! | 72 101 108 108 111 44 32 87 111 114 108 100 33 |
Base64.is | 66 97 115 101 54 52 46 105 115 |
你好 | 228 189 160 229 165 189 |
Vanliga frågor
Vilken decimal ASCII-kod har A?
Versalt A är 65 och gement a är 97, både i ASCII och i UTF-8. Varje följande bokstav är ett steg högre, så Z är 90 och z är 122.
Kan jag avkoda decimala tal utan avgränsare?
Nej. En följd av siffror som 72105 kan delas upp på mer än ett sätt, så avkodaren behöver talen åtskilda av mellanslag, kommatecken, semikolon eller radbrytningar. Inledande nollor är tillåtna.
Varför ger tal över 255 ett fel?
En byte rymmer värden från 0 till 255. Större tal, som eurotecknets kodpunkt 8364 i Unicode, är inte bytevärden. Skriv själva tecknet och koda det för att se dess byte, till exempel i UTF-8.
Varför blir ett tecken till flera tal?
UTF-8 lagrar tecken utanför ASCII som två, tre eller fyra byte, och varje byte blir ett eget tal. Välj en teckenuppsättning med en byte per tecken, som Windows-1252, om du behöver ett tal per västeuropeiskt tecken.