All Topics  
Base 32

 

   Email Print
   Bookmark   Link






 

Base 32



 
 
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 human
Human

A human being, also human or man, is a member of a species of bipedalism primates in the family Hominidae . Mitochondrial DNA evidence indicates that modern humans originated in east Africa about 200,000 years ago....
s and processed by old computer systems which only recognize restricted character sets. It comprises a symbol set made up of 32 different characters, as well as an algorithm for encoding arbitrary strings using 8-bit characters into the Base32 alphabet.






Discussion
Ask a question about 'Base 32'
Start a new discussion about 'Base 32'
Answer questions from other users
Full Discussion Forum



Encyclopedia


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 human
Human

A human being, also human or man, is a member of a species of bipedalism primates in the family Hominidae . Mitochondrial DNA evidence indicates that modern humans originated in east Africa about 200,000 years ago....
s and processed by old computer systems which only recognize restricted character sets. It comprises a symbol set made up of 32 different characters, as well as an algorithm for encoding arbitrary strings using 8-bit characters into the Base32 alphabet. This uses more than one 5-bit Base32 symbol for each 8-bit input character, and thus also specifies requirements on the allowed lengths of Base32 strings (which must be multiples of 40 bits). The Base64 system, in contrast, is closely related but uses a larger set of 64 symbols.

Advantages


Base32 has three main advantages over Base64
Base64

The term Base64 refers to a specific MIME#Content-Transfer-Encoding. It is also used as a generic term for any similar encoding scheme that encodes binary data by treating it numerically and translating it into a base 64 representation....
:

  1. The resulting character set is all one case (usually represented as uppercase), which can often be beneficial when using a case-insensitive filesystem, spoken speech, or human memory.
  2. The alphabet was selected to avoid similar-looking pairs of different symbols, so the strings can be efficiently transcribed by hand. (For example, the symbol set omits the symbols for 1 and zero, since they could be confused with the lower-case 'L' and the letter 'O'.)
  3. The result can be included in a URL
    Uniform Resource Locator

    In Information technology, a Uniform Resource Locator is a type of Uniform Resource Identifier that specifies where an identified resource is available and the mechanism for retrieving it....
     without encoding
    Percent-encoding

    Percent-encoding, also known as URL encoding, is a mechanism for code information in a Uniform Resource Identifier under certain circumstances....
     any characters.


RFC 4648 Base32 alphabet


The most widely used Base32 alphabet is defined in RFC 4648. It uses an alphabet
Alphabet

An alphabet is a standardized set of letter basic written symbols each of which roughly represents a phoneme, a spoken language, either as it exists now or as it was in the past....
 of A
A

The letter A is the first letter in the Latin alphabet. Its name in English language is a ; the plural is aes or, more commonly, a's....
Z
Z

Z is the twenty-sixth and final Letter of the modern English alphabet....
, followed by 2
2 (number)

2 is a number, numeral, and glyph. It is the natural number following 1 and preceding 3 ....
7
7 (number)

7 is the natural number following 6 and preceding 8 . It is the smallest positive integer to be spoken with two syllables when pronounced in English....
 (thus "2" actually has a numerical value of 26
26 (number)

26 is the natural number following 25 and preceding 27 ....
). 0
0 (number)

0 is both a number and the numerical digit used to represent that number in numeral system. It plays a central role in mathematics as the additive identity of the integers, real numbers, and many other algebraic structures....
 and 1
1 (number)

1 is a number, number names, and the name of the glyph representing that number.It represents a single entity, the unit of counting or measurement....
 are skipped due to their similarity with the letters O
O

O is the fifteenth letter of the modern Latin alphabet. Its name in English language is spelled o , plural oes ....
 and I
I

I is the ninth Letter of the Latin alphabet. Its English language name is i ....
.

align="top"|The RFC 4648 Base 32 alphabet
ValueSymbolValueSymbolValueSymbolValueSymbol
0 A 9 J 18 S 27 3
1 B 10 K 19 T 28 4
2 C 11 L 20 U 29 5
3 D 12 M 21 V 30 6
4 E 13 N 22 W 31 7
5 F 14 O 23 X  
6 G 15 P 24 Y  
7 H 16 Q 25 Z  
8 I 17 R 26 2 pad =


Alternate versions


is a Base32 encoding designed to be easier for human use and more compact. It includes 8
8

Year 8 was a leap year starting on Sunday of the Julian calendar....
 and 9
9

Year 9 was a common year starting on Tuesday of the Julian calendar....
 but excludes v
V

V is the twenty-second letter in the modern Latin alphabet. Its name in English language is spelled vee ....
 and 2
2

Year 2 was a common year starting on Sunday of the Julian calendar....
. It also permutes the alphabet so that the easier characters are the ones that occur more frequently. It compactly encodes bitstrings whose length in bits is not a multiple of 8, and omits trailing padding characters. z-base-32 was used in Mnet
Mnet

Mnet is a distributed, peer to peer, Computer file store. Mnet is also an emergent computer network. An emergent network is one in which the important features of the network result from the interactions of nodes operated by autonomous people or organizations who do not explicitly coordinate with one another....
 open source project, and is currently used in Phil Zimmermann
Phil Zimmermann

Philip R. "Phil" Zimmermann Jr. is the creator of Pretty Good Privacy , the most widely used email encryption software in the world. He is also known for his work in VoIP encryption protocols, notably ZRTP and Zfone....
's ZRTP
ZRTP

ZRTP is a key-agreement protocol to negotiate the cryptographic keys to encrypt VoIP phone calls. ZRTP describes a method of Diffie-Hellman key exchange for Secure Real-time Transport Protocol ....
 protocol, and in the open source project.

An earlier form of base 32 notation was used by programmers working on the Electrologica X1
Electrologica X1

The Electrologica X1 was a digital computer designed and manufactured in the Netherlands from 1958 to 1965. About thirty were produced and sold in the Netherlands and abroad....
 to represent machine addresses. The "digits" were represented as decimal numbers from 0 to 31. For example, 12-16 would represent the machine address 400.

Another alternative design for Base32 is created by Douglas Crockford, who proposes using additional characters for a checksum.

Crockford's Base32 alphabet
ValueEncode DigitDecode DigitValueEncode DigitDecode Digit
0 0 0 o O 16 G g G
1 1 1 i I l L 17 H h H
2 2 2 18 J j J
3 3 3 19 K k K
4 4 4 20 M m M
5 5 5 21 N n N
6 6 6 22 P p P
7 7 7 23 Q q Q
8 8 8 24 R r R
9 9 9 25 S s S
10 A a A 26 T t T
11 B b B 27 V v V
12 C c C 28 W w W
13 D d D 29 X x X
14 E e E 30 Y y Y
15 F f F 31 Z z Z


base32hex

Triacontakaidecimal is another alternative design for Base 32, that extends Hexadecimal in a more natural way. RFC 4648 uses base32hex as name for this encoding deployed in RFC 2938. Note the difference between 0, O and 1, I. They are similar, but still distinguishable in ASCII. In binary it would end up represented in 8-bits, although it could be contained in 5, as 8-bits actually represents a base 256 numbering system.

Triacontakia Binary Decimal
0 00000 0
1 00001 1
2 00010 2
3 00011 3
4 00100 4
5 00101 5
6 00110 6
7 00111 7
8 01000 8
9 01001 9
A 01010 10
B 01011 11
C 01100 12
D 01101 13
E 01110 14
F 01111 15
G 10000 16
H 10001 17
I 10010 18
J 10011 19
K 10100 20
L 10101 21
M 10110 22
N 10111 23
O 11000 24
P 11001 25
Q 11010 26
R 11011 27
S 11100 28
T 11101 29
U 11110 30
V 11111 31


Video games


Before NVRAM
NVRAM

Non-volatile random access memory is the general name used to describe any type of random access memory which does not lose its information when power is turned off....
 became universal, several video games for Nintendo
Nintendo

is a global company located in Kyoto, Japan founded on September 23, 1889 by Fusajiro Yamauchi to produce handmade hanafuda cards. By 1963, the company had tried several small niche businesses, such as a cab company and a love hotel....
 platforms use base 32 numbers for passwords
Password (video games)

In many video games of the history of video games and history of video games s, after a level was beaten and/or when all continues were used, the game would display a password, that when entered in the game would allow the player to return back to this part in the game....
. These systems omit vowels to prevent the game from accidentally giving a profane
Profanity

The original meaning of the adjective profane referred to items not belonging to the church, e.g. "The fort is the oldest profane building in the town, but the local monastery is older, and is the oldest sacred building," or "besides designing churches, he also designed many profane buildings"....
 password. Thus, the characters are generally some minor variation of the following set: 0-9, B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Y, Z, and some punctuation mark. Games known to use such a system include Mario Is Missing!, Mario's Time Machine, Tetris Blast, and The Lord of the Rings (Super NES)
Middle-earth in video games

While an immense number of computer and video games owe a great deal to J. R. R. Tolkien's works and the many other high fantasy settings based upon his, relatively few games have been directly adapted from his world of Middle-earth....
.

See also

  • Base64
    Base64

    The term Base64 refers to a specific MIME#Content-Transfer-Encoding. It is also used as a generic term for any similar encoding scheme that encodes binary data by treating it numerically and translating it into a base 64 representation....
  • Base16