GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — Base36 - Wikipedia

icon
This article needs more citations. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Base36" – news · newspapers · books · scholar · JSTOR
(November 2008) (Learn how and when to remove this message)
This article is about an encoding scheme used to represent binary data as text. For the positional numeral system using the radix 36, see Base 36.

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[1] (the lowercase ISO basic Latin alphabet).

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.

Conversion

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.

Standard implementations

The C standard library since C89 supports base36 numbers via the strtol and strtoul functions[2]

In the Common Lisp standard (ANSI INCITS 226-1994), functions like parse-integer support a radix of 2 to 36.[3]

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.

PHP, like Java, supports conversion from/to String to different bases from 2 up to 36 using the base_convert function, available since PHP 4.

Go supports conversion to string to different bases from 2 up to 36 using the built-in strconv.FormatInt(), and strconv.FormatUint() functions,[4][5] and conversions from string encoded in different bases from 2 up to 36 using the built-in strconv.ParseInt(), and strconv.ParseUint() functions.[6][7]

Python allows conversions of strings from base 2 to base 36.[8]

Raku supports base2 to base36 for all its real numeric types with its builtins: base[9] and parse-base.[10]

See also

  • Senary – Base-6 numeral system
  • Uuencoding

References

  1. ↑ "ECMAScript® 2026 Language Specification".
  2. ↑ "strtol, strtoll — cppreference.com".
  3. ↑ "Common Lisp HyperSpec". LispWorks. Retrieved 3 August 2022.
  4. ↑ "Strconv package - strconv - PKG.go.dev".
  5. ↑ "Strconv package - strconv - PKG.go.dev".
  6. ↑ "Strconv package - strconv - PKG.go.dev".
  7. ↑ "Strconv package - strconv - PKG.go.dev".
  8. ↑ "Built-in Functions — Python 3.10.0 documentation".
  9. ↑ "base".
  10. ↑ "routine parse-base".

External links

  • A discussion about the proper name for base 36 at the Wordwizard Clubhouse
  • The Prime Lexicon, a list of words that are prime numbers in base 36
  • A Binary-Octal-Decimal-Hexadecimal-Base36 converter written in PHP
  • A C# base 36 encoder and decoder
  • sample in C# that demonstrates the HexaTriDecimal Numbering System including string parsing, as well as increment/decrement operations
Retrieved from "https://en.wikipedia.org/w/index.php?title=Base36&oldid=1342116584"
Categories:
  • Binary-to-text encoding formats
  • Computer arithmetic
  • Data serialization formats
  • Positional numeral systems
Hidden categories:
  • Articles with short description
  • Short description is different from Wikidata
  • Articles needing additional references from November 2008
  • All articles needing additional references
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.