Base32

Base32

Base32 beschreibt ein Verfahren zur Kodierung von Binärdaten in eine Zeichenfolge, die nur aus 32 verschiedenen ASCII-Zeichen besteht (plus einem zusätzlichen 33. Zeichen als Füllzeichen am Datenende). Angewendet wird es in Umgebungen, wo nicht zwischen Groß- und Kleinbuchstaben unterschieden wird, so unter Anderem bei Umlaut-Domainnamen.

Es gibt verschiedene Kodierungsmöglichkeiten. Bei Umlaut-Domainnamen wird der sogenannte Punycode verwendet, der die Sonderzeichen und ihre Position kodiert. RFC 3548 beschreibt eine andere, allgemein gültige Kodierung für beliebige Binärdaten, welche wie folgt abläuft:

Fünf 8-Bit-Bytes (also zusammen 40 Bit) werden in acht 5-Bit-Gruppen zerlegt. Jede dieser Gruppen entspricht einer Zahl zwischen 0 und 31. Diese Zahlen werden anhand der nachfolgenden Umsetzungstabelle in „druckbare ASCII-Zeichen“ umgewandelt und ausgegeben. Wenn am Ende kein kompletter 40-Bit-Block mehr gebildet werden kann, wird dieser Block mit Nullbytes aufgefüllt und die 5-Bit-Gruppen, die nur aus Füllbits bestehen, mit = kodiert, um dem Dekodierer mitzuteilen, wie viele Füllbits hinzugefügt wurden.

Base32 nach RFC 3548 / RFC 4648
Wert Zeichen Wert Zeichen Wert Zeichen Wert Zeichen
0 A 8 I 16 Q 24 Y
1 B 9 J 17 R 25 Z
2 C 10 K 18 S 26 2
3 D 11 L 19 T 27 3
4 E 12 M 20 U 28 4
5 F 13 N 21 V 29 5
6 G 14 O 22 W 30 6
7 H 15 P 23 X 31 7

Beispielcodierung für den Wert 0

Schritt Block1 Block2 Block3 Block4 Block5 Block6 Block7 Block8
Integer Wert 0 - - - - - - -
Repräsentiert als 8 Bits 00000000 - - - - - - -
Aufgeteilt in 8x5 Blöcke 00000 00... - - - - - -
Fehlende Nullen aufgefüllt 00000 00000 - - - - - -
Integer Wert 0 0 - - - - - -
Ergibt die Codierung A A = = = = = =


Beispielcodierung für den String "AB" (entspricht in Ascii Codierung den Werten 65 u.66)

Schritt Block1 Block2 Block3 Block4 Block5 Block6 Block7 Block8
Integer Werte 65 66 - - - - - -
Repräsentiert als 8 Bits 01000001 01000010 - - - - - -
Aufgeteilt in 8x5 Blöcke 01000 00101 00001 0.... - - - -
Fehlende Nullen aufgefüllt 01000 00101 00001 00000 - - - -
Integer Werte 8 5 1 0 - - - -
Ergibt die Codierung I F B A = = = =


Die Ziffern 0 und 1 werden nicht verwendet, da bei schriftlicher Wiedergabe eine Verwechslungsgefahr mit den Buchstaben O und I besteht.

Base32hex

RFC 3548 wurde von RFC 4648 abgelöst, das eine weitere Kodierung einführt. Diese benutzt – ähnlich wie das Hexadezimalsystem – für die Werte 0 bis 9 die dezimalen Ziffern. Die Werte 10 bis 31 werden durch die Buchstaben A bis V repräsentiert. Damit bleibt, wie bei Hexadezimalzahlen, die Reihenfolge der kodierten Werte bei lexikographischer Sortierung erhalten.

Base32hex nach RFC 4648
Wert Zeichen Wert Zeichen Wert Zeichen Wert Zeichen
0 0 8 8 16 G 24 O
1 1 9 9 17 H 25 P
2 2 10 A 18 I 26 Q
3 3 11 B 19 J 27 R
4 4 12 C 20 K 28 S
5 5 13 D 21 L 29 T
6 6 14 E 22 M 30 U
7 7 15 F 23 N 31 V

Diese Kodierung wird unter anderem im DNSSEC verwendet.

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Base32 — is a base 32 transfer encoding using the twenty six letters A Z and six digits 2 7. Software Base32 is a notation for encoding arbitrary byte data using a restricted set of symbols which can be conveniently used by humans and processed by old… …   Wikipedia

  • Base64 — Numeral systems by culture Hindu Arabic numerals Western Arabic (Hindu numerals) Eastern Arabic Indian family Tamil Burmese Khmer Lao Mongolian Thai East Asian numerals Chinese Japanese Suzhou Korean Vietnamese …   Wikipedia

  • Magnet URI scheme — Magnet icon The magnet: URI scheme is a draft open standard defining a URI scheme for magnet links, which are mainly used to reference resources available for download via peer to peer networks. Such a link typically identifies a file not by… …   Wikipedia

  • Magnet-ссылка — Magnet icon URI схема magnet:  открытый, находящийся в стадии рабочего черновика стандарт, определяющий URI схему т. н. magnet ссылок, предназначенных преимущественно для указания на ресурсы, доступные к загрузке через пиринговые сети.… …   Википедия

  • Base64 — Base 64 es un sistema de numeración posicional que usa 64 como base. Es la mayor potencia de dos que puede ser representada usando únicamente los caracteres imprimibles de ASCII. Esto ha propiciado su uso para codificación de correos electrónicos …   Wikipedia Español

  • URN — (англ. Uniform Resource Name)  единообразное название (имя) ресурса. На английский манер произносится как слово earn, по русски чаще говорят [у эр эн]. URN  это постоянная последовательность символов, идентифицирующая абстрактный… …   Википедия

  • Base 32 — This article is about the positional numerical system. For the content encoding scheme, see Base32. Numeral systems by culture Hindu Arabic numerals Western Arabic (Hindu numerals) Eastern Arabic Indian family Tamil Burmese Khmer Lao Mongolian… …   Wikipedia

  • Advanced Direct Connect — (ADC) is a peer to peer file sharing protocol, based on the topology of the Direct Connect (DC) protocol. ADC clients connect to a central hub and can download files directly from one user to another.Hubs feature a list of clients or users… …   Wikipedia

  • Base 64 — Base64 ist ein Begriff aus dem Computerbereich und beschreibt ein Verfahren zur Kodierung von 8 Bit Binärdaten (z. B. ausführbare Programme, ZIP Dateien), in eine Zeichenfolge, die nur aus wenigen, Codepage unabhängigen ASCII Zeichen besteht. Im… …   Deutsch Wikipedia

  • Radix-64 — Base64 ist ein Begriff aus dem Computerbereich und beschreibt ein Verfahren zur Kodierung von 8 Bit Binärdaten (z. B. ausführbare Programme, ZIP Dateien), in eine Zeichenfolge, die nur aus wenigen, Codepage unabhängigen ASCII Zeichen besteht. Im… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”