メインコンテンツまでスキップ

Appendix B. Core ABNF of ABNF (ABNFのコアルール)

B.1. Core Rules (コアルール)

SP、HTAB、CRLF、DIGIT、ALPHAなどの特定の基本ルールは大文字です。これらのコアルールは、この付録で定義されています。

ALPHA          =  %x41-5A / %x61-7A   ; A-Z / a-z

BIT = "0" / "1"

CHAR = %x01-7F
; NULを除く任意の7ビットUS-ASCII文字

CR = %x0D
; キャリッジリターン

CRLF = CR LF
; インターネット標準改行

CTL = %x00-1F / %x7F
; 制御文字

DIGIT = %x30-39
; 0-9

DQUOTE = %x22
; " (二重引用符)

HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F"

HTAB = %x09
; 水平タブ

LF = %x0A
; ラインフィード

LWSP = *(WSP / CRLF WSP)
; この線形空白ルールの使用は、
; 空白のみを含む行を許可します。
; これらはメールヘッダーでは
; もはや合法ではなく、他の
; コンテキストで相互運用性の
; 問題を引き起こしています。
; メールヘッダーを定義するときは
; 使用しないでください。他の
; コンテキストでは注意して
; 使用してください。

OCTET = %x00-FF
; 8ビットのデータ

SP = %x20

VCHAR = %x21-7E
; 可視(印刷可能)文字

WSP = SP / HTAB
; 空白文字

B.2. Common Encoding (共通エンコーディング)

外部的には、データは「ネットワーク仮想ASCII」(すなわち、8ビットフィールドの7ビットUS-ASCII) として表現され、上位 (8番目) ビットはゼロに設定されます。値の文字列は「ネットワークバイトオーダー」であり、より高い値のバイトが左側に表され、ネットワーク上で最初に送信されます。

文字エンコーディング

コアルールはUS-ASCIIエンコーディングを使用します。各文字は、対応するASCII値で表されます:

  • 文字 (A-Z, a-z): %x41-5A, %x61-7A
  • 数字 (0-9): %x30-39
  • 一般的な記号: SP (%x20), HTAB (%x09)など

使用ガイドライン

これらのコアルールは、複数のインターネット仕様で使用されるように設計されています。基本的な構文要素の共通語彙を提供し、さまざまなプロトコルとフォーマット間での一貫性を確保します。

重要な注記:

  • LWSP (線形空白) は、空白のみを含む行を許可するため、注意して使用する必要があります (SHOULD)
  • コアルールは7ビットUS-ASCII環境を想定しています
  • 異なる文字エンコーディングを使用する仕様については、適切な調整を行う必要があります (SHOULD)