RFC Errata

Errata Search

Source of RFC  
Summary Table Full Records

RFC 4648, "The Base16, Base32, and Base64 Data Encodings", October 2006

Area Assignment: app

Errata ID: 5855
Status: Reported
Type: Editorial
Publication Format(s) : TEXT

Reported By: Daniel Barclay
Date Reported: 2019-09-06

Section 10. says:

10.  Test Vectors

   BASE64("") = ""

   BASE64("f") = "Zg=="



TL;DR: Test Vectors section should specify the character encoding (ASCII/UTF-8) of the _character_ sequences used to represent input-data _octet_ sequences.

The input to a Base 64/-32/-16 encoding operation is sequence of _octets_.

However, the test vector expressions use sequences of _characters_ to represent input _octet_ sequences.

That's a type mismatch (characters where octets are needed), and although it's pretty obvious that the strings were meant to represent octet sequences, there's no mention the the intended character encoding isn't, say, EBCDIC.

Some possible fixes:
1) The text should specify the character encoding (ASCII/UTF-8) to be used to interpret the character sequences as input octet sequences.
2) The input octet sequences should be represented with a more direct (encoding-independent) representation of octets (e.g., "0x48, 0x69".).

Report New Errata