Base64

From MgmtWiki
Revision as of 15:57, 20 January 2020 by Tom (talk | contribs) (References)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Full Title

Base64 is a coding schema designed to convert binary data into ASCII encoded text.

Context

Base64 coding was created to allow binary information to be passed over channels that cannot cope with the full range of characters represented by a binary stream.

Problems

  • While Base64 works well for what it was designed to accomplish on Web Site communications over the World Wide Web, it cannot be used within a URL. Defined in RFC 4648
  • Some uses of base64 require padding with "=" or "==" to ensure that the encode stream is always divisible by four. Some uses prohibit such padding. Most uses don't care.

Solution

  • Now there are two versions that occur in common web usage:
    • Base64 uses the characters '+ and '/' typically with padding as defined in RFC 4648.
    • Base64url uses the characters '-' and '_' and prohibits padding as defined in RFC 7515. (This doc also discusses padding.)
  • While Base64 works well for what it was designed to accomplish on Web Site communications over the World Wide Web, it cannot be used within a URL.
  • Some uses of base64 require padding with "=" or "==" to ensure that the encode stream is always divisible by four. Some uses prohibit such padding. Most uses don't care.

References