Difference between revisions of "Base64"

From MgmtWiki
Jump to: navigation, search
(Solution)
(Problems)
Line 4: Line 4:
 
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.
 
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==
 
==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.
+
* 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 [https://tools.ietf.org/html/rfc4648#section-4 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.
 
* 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.
  

Revision as of 16:45, 20 January 2020

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
    • Base64url uses the characters '-' and '_' and prohibits padding.

References