Werking van de Binair/Hex Converter
De Binair/Hex Converter is ontworpen voor het direct omrekenen van getallen en tekst tussen verschillende talstelsels. De tool ondersteunt vier veelgebruikte talstelsels in de informatica: binair (basis 2), octaal (basis 8), decimaal (basis 10) en hexadecimaal (basis 16).
De converter kent twee hoofdmodi:
- Getal: In deze modus zijn de velden voor binair, octaal, decimaal en hexadecimaal aan elkaar gekoppeld. Zodra u een waarde in een van de velden invoert of aanpast, worden de overige drie velden direct bijgewerkt.
- Tekst: Deze modus codeert platte tekst naar de bijbehorende bytewaarden in een gekozen talstelsel, of decodeert dergelijke bytewaarden juist terug naar leesbare tekst.
Elke conversie wordt uitgevoerd in je browser. Je getallen en tekst verlaten je apparaat nooit. Dit garandeert dat de verwerking lokaal plaatsvindt zonder dat er gegevens naar een externe server worden geüpload.
Getallen converteren tussen verschillende talstelsels
In de getallenmodus verwerkt de tool invoerwaarden in de vier ondersteunde talstelsels. De invoer is flexibel en staat verschillende schrijfwijzen toe. Zo kunnen getallen voorafgegaan worden door een minteken, omringd zijn door spaties, of specifieke voorvoegsels bevatten zoals 0b voor binair, 0o voor octaal en 0x voor hexadecimaal. Ook het gebruik van underscores en whitespace als scheidingstekens tussen cijfers is toegestaan.
Kenmerken van de getallenconversie
- Geen afrondingsfouten: Er is geen praktische limiet aan de grootte van de getallen. Waarden worden exact geconverteerd zonder dat er afronding plaatsvindt.
- Arbitraire precisie: De getallen worden ingelezen en opgemaakt met behulp van BigInt. Dit maakt de verwerking van willekeurig grote gehele getallen tot een lengte van 4.096 tekens mogelijk.
- Negatieve getallen: Negatieve getallen behouden in elk talstelsel een leidend minteken. Er wordt in deze modus geen gebruikgemaakt van een vaste-breedte 'two's complement'-weergave.
- Statusmeldingen: Na een succesvolle getallenconversie toont de interface de status "Geconverteerd.". Als de invoer wordt leeggemaakt, verandert de status in "Gewist.".
Foutafhandeling bij getallen
Wanneer een ingevoerd getal tekens bevat die niet zijn toegestaan binnen het geselecteerde talstelsel (zoals een '9' in een octaal getal of een 'G' in een hexadecimaal getal), toont de converter de foutmelding:
"Geen geldig getal voor dat talstelsel — controleer op cijfers die het niet kan bevatten."
Tekst en bytewaarden coderen en decoderen
In de tekstmodus fungeert de tool als een encoder en decoder voor UTF-8 gecodeerde tekst. Gebruikers kunnen tekst omzetten naar een reeks bytewaarden of een reeks bytewaarden terugvertalen naar tekst.
Tekst naar Bytes (Tekst → Bytes)
Bij het coderen voert u tekst in met een maximale lengte van 200.000 tekens. De tool zet deze tekst om naar de corresponderende bytewaarden in het geselecteerde byte-talstelsel (binair, octaal, decimaal of hexadecimaal).
Om de leesbaarheid te vergroten en te voldoen aan standaarden, past de converter automatische opvulling (padding) met leidende nullen toe op de uitvoer:
- Binair: Uitgelijnd met leidende nullen tot 8 bits per byte.
- Octaal: Uitgelijnd met leidende nullen tot 3 bits.
- Hexadecimaal: Uitgelijnd met leidende nullen tot 2 bits, waarbij letters in hoofdletters worden weergegeven.
- Decimaal: Wordt niet opgevuld met leidende nullen.
Na een succesvolle codering is de status "Gecodeerd.".
Bytes naar Tekst (Bytes → Tekst)
Bij het decoderen voert u een reeks bytewaarden in, gescheiden door spaties of komma's. Elke afzonderlijke waarde moet exact één byte vertegenwoordigen, wat neerkomt op een bereik van 0 tot en met 255 in het gekozen talstelsel. Na een succesvolle decodering toont de interface de status "Gedecodeerd.".
Foutafhandeling bij tekst en bytes
Tijdens het decoderen van bytes kunnen zich verschillende fouten voordoen:
- Als de invoer tekens bevat die ongeldig zijn voor het gekozen talstelsel, of als een waarde buiten het bereik van 0–255 valt, verschijnt de melding:
"Geen geldige bytecodes — elke waarde moet één byte (0–255) zijn in het gekozen talstelsel."
- Als de ingevoerde byte-reeks geen geldige UTF-8-structuur vormt, kan de converter hier geen tekst van maken. De interface toont dan de foutmelding:
"Die bytes zijn geen geldige UTF-8, dus ze kunnen niet als tekst worden weergegeven."
- Indien de invoer de limiet van de tool overschrijdt, wordt de volgende melding getoond:
"Dat is te lang voor deze tool — probeer een kortere invoer."
Technische achtergrond van talstelsels en UTF-8
Het converteren tussen getalsystemen is gebaseerd op de positionele waarde van cijfers binnen een gekozen basis b. Een getal wordt gerepresenteerd als een som van machten van deze basis:
dₙ × bⁿ + dₙ₋₁ × bⁿ⁻¹ + … + d₁ × b¹ + d₀ × b⁰
In computersystemen spelen deze stelsels verschillende rollen:
- Binair (basis 2): De fundamentele taal van processors, waarin gegevens worden opgeslagen als transistortoestanden (0 of 1).
- Octaal (basis 8): Historisch gebruikt in computerarchitecturen en nog steeds relevant voor bijvoorbeeld bestandssystemen en permissies in Unix-achtige besturingssystemen.
- Decimaal (basis 10): Het standaard talstelsel dat door mensen wordt gebruikt voor dagelijkse berekeningen.
- Hexadecimaal (basis 16): Een compacte manier om binaire data weer te geven. Omdat één hexadecimaal cijfer exact 4 bits (een nibble) representeert, kan een volledige byte (8 bits) altijd met precies twee hexadecimale tekens worden geschreven.
Voor tekstconversie maakt de tool gebruik van UTF-8 (Unicode Transformation Format - 8-bit). UTF-8 is een karaktercodering met variabele lengte die elk Unicode-teken kan representeren. Een enkel teken kan worden gecodeerd als een reeks van 1 tot 4 bytes. ASCII-tekens (zoals standaard Latijnse letters en cijfers) worden gecodeerd als een enkele byte met een waarde tussen 0 en 127. Speciale tekens, accenten en emoji's vereisen meerdere opeenvolgende bytes, die elk strikt moeten voldoen aan de UTF-8-specificaties om correct gedecodeerd te kunnen worden.
Veelgestelde vragen
Wat kan ik hier converteren?
Twee dingen. De getallenmodus koppelt binair, octaal, decimaal en hexadecimaal — bewerk één veld en de rest wordt direct bijgewerkt. De tekstmodus zet elke tekst om in de bytewaarden in het gekozen talstelsel, en leest die bytes weer terug naar tekst.
Werkt dit ook met negatieve en zeer grote getallen?
Ja. Negatieve getallen behouden een minteken in elk talstelsel, en er is geen limiet aan de grootte — waarden worden exact geconverteerd, zonder afronding. Er is geen vaste-breedte 'two's complement'-weergave, omdat dat pas zinvol is als je een bitbreedte kiest.
Wordt mijn invoer ergens naartoe gestuurd?
Nee. Alles wordt lokaal in je browser berekend, dus niets van wat je typt wordt geüpload.