rfc9804v2.txt   rfc9804.txt 
skipping to change at line 467 skipping to change at line 467
* an (optional) decimal length of the octet-string * an (optional) decimal length of the octet-string
* a vertical bar "|" * a vertical bar "|"
* the base-64 [RFC4648] encoding of the octet-string. * the base-64 [RFC4648] encoding of the octet-string.
* a final vertical bar "|" * a final vertical bar "|"
Base-64 encoding produces four characters of output for each three Base-64 encoding produces four characters of output for each three
octets of input. If the length of the input divided by three leaves octets of input. When the length of the input is divided by three:
a remainder of one or two, it produces an output block of length four
ending in two or one equals signs, respectively. These equals signs * if the remainder is one, it produces an output block of length
MUST be included on output, but input routines MAY accept inputs four ending in two equals signs.
where one or two equals signs are dropped. * if the remainder is two, it produces an output block of length
four ending in one equals sign.
These equals signs MUST be included on output, but input routines MAY
accept inputs where one or two equals signs are dropped.
Whitespace inserted in the midst of the base-64 encoding is ignored. Whitespace inserted in the midst of the base-64 encoding is ignored.
It is an error to have characters other than whitespace and base-64 It is an error to have characters other than whitespace and base-64
characters. characters.
Here are some examples of base-64 encodings: Here are some examples of base-64 encodings:
|YWJj| -- represents "abc" |YWJj| -- represents "abc"
| Y W | Y W
J j | -- also represents "abc" J j | -- also represents "abc"
skipping to change at line 1093 skipping to change at line 1097
* The Inferno implementation [Inferno] * The Inferno implementation [Inferno]
* Small Fast X-Expression Library [SFEXP] * Small Fast X-Expression Library [SFEXP]
* S-expression Processor [SEXPP] in Ruby * S-expression Processor [SEXPP] in Ruby
* Canonical S-expressions [CANON2] (OCAML) * Canonical S-expressions [CANON2] (OCAML)
Acknowledgements Acknowledgements
Special thanks to Daniel K. Gillmore for his extensive comments. Special thanks to Daniel K. Gillmor for his extensive comments.
The comments and suggestions of the following are gratefully The comments and suggestions of the following are gratefully
acknowledged: John Klensin and Caleb Malchik. acknowledged: John Klensin and Caleb Malchik.
Contributors Contributors
Special thanks to Marc Petit-Huguenin, particularly for his extensive Special thanks to Marc Petit-Huguenin, particularly for his extensive
work and advice on the ABNF and on locating and fixing unclear parts work and advice on the ABNF and on locating and fixing unclear parts
of earlier draft versions of this document: of earlier draft versions of this document:
 End of changes. 2 change blocks. 
6 lines changed or deleted 10 lines changed or added

This html diff was produced by rfcdiff 1.48.