RFC Errata
RFC 4648, "The Base16, Base32, and Base64 Data Encodings", October 2006
Source of RFC: IETF - NON WORKING GROUPArea Assignment: app
See Also: RFC 4648 w/ inline errata
Errata ID: 5855
Status: Verified
Type: Editorial
Publication Format(s) : TEXT
Reported By: Daniel Barclay
Date Reported: 2019-09-06
Verifier Name: Orie Steele
Date Verified: 2024-04-01
Section 10. says:
10. Test Vectors BASE64("") = "" BASE64("f") = "Zg==" ...
Notes:
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".).