Jump to content

Base36

From Wikipedia, the free encyclopedia

Base36 is a binary-to-text encoding scheme 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 Arabic numerals 0–9 and the Latin letters A–Z[1] (the ISO basic Latin alphabet).

Each base36 digit needs less than 6 bits of information to be represented.

Conversion

[edit]

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

[edit]

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, [1] and [2]

Just like Java, JavaScript also supports conversion from/to String to different bases from 2 up to 36. [3]

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

[edit]

References

[edit]
  1. ^ Hope, Paco; Walther, Ben (2008), Web Security Testing Cookbook, Sebastopol, CA: O'Reilly Media, Inc., ISBN 978-0-596-51483-9
  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".
[edit]
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy