Common · Knowledge

Base36

Binary-to-text encoding scheme

Base36 is a binary-to-text encoding that represents binary data in an ASCII string format by translating it into a radix-36 representation. The choice of 36 is convenient in that the digits can be represented using the numerals 0–9 and the letters a-z (the lowercase ISO basic Latin alphabet).

Read more

Each Base36 digit contains log2(36) ≈ 5.17 bits of information, so six bits is sufficient to represent each digit. Base36 numbers can also be expanded to pairs of senary (base 6) digits. Signed 32- and 64-bit integers will only hold at most 6 or 13 base-36 digits, respectively (that many base-36 digits can overflow the 32- and 64-bit integers). For example, the 64-bit signed integer maximum value of "9223372036854775807" is "1Y2P0IJ32E8E7" in base-36. Similarly, the 32-bit signed integer maximum value of "2147483647" is "ZIK0ZJ" in base-36. The C standard library since C89 supports base36 numbers via the strtol and strtoul functions In the Common Lisp standard (ANSI INCITS 226-1994), functions like parse-integer support a radix of 2 to 36. Java SE supports conversion from/to String to different bases from 2 up to 36. For example, and Just like Java, JavaScript also supports conversion from/to String to different bases from 2 up to 36.

Text: Wikipédia, CC BY-SA 4.0. ·

Tap to close

Confirmation