Visual RFC.
ALL RFCs / RFC 4648
Read the RFC ↗
RFC 4648 / MECHANISM GUIDE

Strictness and canonical form

05

A consuming protocol must say when to tolerate non-alphabet characters or line breaks.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 3.3 ↗
RFC 4648 · § 3.3EXAMPLE
3 / 3
Strictness and canonical formA consuming protocol must say when to tolerate non-alphabet characters or line breaks.Strictness and canonical formInput: TQ=!=alphabet gateTQ==Canonical encoder output for M
03
Emit canonical text

Write the agreed alphabet, zero pad bits, and required padding.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

Do not add line feeds unless a referring specification requires them.

  • Do not add line feeds unless a referring specification requires them.
  • Reject non-alphabet characters unless the referring specification explicitly allows another policy.
  • Use canonical output to avoid several spellings for the same bytes.
DETAILS

Examples are illustrative. Consult the linked RFC and its errata for implementation details.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. Base64 bit groups
  2. Padding and pad bits
  3. Base64url alphabet
  4. Base32 and Base16
  5. Strictness and canonical form

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗