Tekst naar octaal

Octaal is de vergeten neef van hex: een talstelsel met grondtal 8, waarbij elk cijfer precies 3 bits voorstelt. Unix-bestandsrechten (755, 644) worden octaal geschreven, en elk teken heeft een octale code, net zoals het een decimale en een hexadecimale code heeft. Plak tekst en deze converter geeft de octale code voor elke byte terug; plak octale codes gescheiden door spaties en je krijgt de oorspronkelijke tekst terug.

Hoe je tekst naar octaal omzet

  1. 1

    Voer tekst in

    Gewone tekens; voor niet-ASCII-invoer wordt UTF-8-codering aangenomen.

  2. 2

    Elke byte wordt één octale code

    `A` = 65 decimaal = `101` octaal. `Z` = 90 = `132`. Een spatie = 32 = `40`.

  3. 3

    Codes worden gescheiden door spaties

    De bytecodes worden verbonden met enkele spaties (`Hi` wordt `110 151`). Er worden geen voorloopnullen toegevoegd.

  4. 4

    Decodeer door octaal te plakken

    Schakel naar Octaal → Tekst en plak octale waarden gescheiden door spaties; elke waarde van 0 tot 255 wordt één byte.

Snelle voorbeelden van octaal

Teken Decimaal Octaal Binair
A 65 101 1000001
a 97 141 1100001
0 48 60 0110000
spatie 32 40 0100000
\n 10 12 0001010

Waarom octaal nog steeds telt

De meeste moderne systemen geven de voorkeur aan hex, omdat twee hexcijfers netjes één byte vormen. Octaal blijft op enkele plekken hangen:

  • Unix-bestandsrechten: chmod 755 betekent eigenaar = 7 (rwx), groep = 5 (r-x), overige = 5 (r-x). Elk cijfer staat voor drie rechtenbits.
  • C/Python-escapereeksen: \101 in een stringliteraal is A. Een voorloopnul in C-gehele literalen (int x = 0755) wordt als octaal opgevat, een bekende valkuil.
  • Embedded en retrosystemen: oudere 12-, 18- en 36-bits architecturen sloten goed aan bij octaal.
  • umask-waarden: umask 022 stelt het standaard bestandsrechtenmasker in op 755.

Tabel met bestandsrechten

Octaal cijfer Rechten Binair
0 --- 000
1 --x 001
2 -w- 010
3 -wx 011
4 r-- 100
5 r-x 101
6 rw- 110
7 rwx 111

Dus chmod 644 = eigenaar rw-, groep r--, overige r--, de standaard voor een leesbaar tekstbestand.

Valkuilen

  • Voorloopnullen zijn belangrijk in C. int a = 010; zet a op 8, niet op 10. Python 3 heeft dit afgeschaft; gebruik altijd 0o10.
  • Octaal gebruikt alleen de cijfers 0-7. 8 en 9 zijn ongeldig in octaal. Zie je die, dan is de bron geen octaal.
  • Unicode-bytes worden groter in octaal. Een UTF-8-emoji (4 bytes) wordt 4 octale codes van drie cijfers, twaalf tekens. In hex zijn het er acht. Voor de meeste weergavedoeleinden wint hex.

Veelgestelde vragen

Meestal nooit, tenzij je te maken hebt met Unix-rechten of C-string-escapes in het \NNN-formaat. Hex is compacter en makkelijker byte voor byte te lezen.

Omdat elk octaal cijfer precies overeenkomt met drie rechtenbits (lezen, schrijven, uitvoeren). De notatie werd in 1971 in AT&T Unix ingebouwd en is nooit meer weggegaan, ze sluit elegant aan bij het onderliggende bitpatroon.

Ja. Schakel naar Octaal → Tekst en plak octale waarden gescheiden door spaties (bijvoorbeeld 110 151). Elke waarde van 0 tot 255 wordt weer een byte, zodat meerbyte UTF-8-tekens uit hun afzonderlijke bytecodes worden gedecodeerd.

Je tekst wordt alleen naar onze server gestuurd om de conversie uit te voeren en wordt niet opgeslagen of gelogd.

Gerelateerde tools

Tool beschikbaar in andere talen