跳到主要内容

附录 B. ABNF 的核心 ABNF

B.1. 核心规则

某些基础规则使用大写形式, 例如 SP, HTAB, CRLF, DIGIT, ALPHA 等. 这些核心规则在本附录中定义.

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

BIT = "0" / "1"

CHAR = %x01-7F
; any 7-bit US-ASCII character,
; excluding NUL

CR = %x0D
; carriage return

CRLF = CR LF
; Internet standard newline

CTL = %x00-1F / %x7F
; controls

DIGIT = %x30-39
; 0-9

DQUOTE = %x22
; " (Double Quote)

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

HTAB = %x09
; horizontal tab

LF = %x0A
; linefeed

LWSP = *(WSP / CRLF WSP)
; Use of this linear-white-space rule
; permits lines containing only white
; space that are no longer legal in
; mail headers and have caused
; interoperability problems in other
; contexts.
; Do not use when defining mail
; headers and use with caution in
; other contexts.

OCTET = %x00-FF
; 8 bits of data

SP = %x20

VCHAR = %x21-7E
; visible (printing) characters

WSP = SP / HTAB
; white space

B.2. 通用编码

在外部表示中, 数据以 "network virtual ASCII" 表示, 即 8 位字段中的 7 位 US-ASCII, 且最高位 (第 8 位) 置为零. 一串值采用 "network byte order" 表示, 其中数值较高的字节位于左侧, 并首先通过网络发送.

字符编码

核心规则使用 US-ASCII 编码. 每个字符由其对应的 ASCII 值表示:

  • 字母 (A-Z, a-z): %x41-5A, %x61-7A
  • 数字 (0-9): %x30-39
  • 常见符号: SP (%x20), HTAB (%x09) 等.

使用指南

这些核心规则设计为可在多种 Internet 规范中使用. 它们为基础语法元素提供通用词汇, 确保不同协议和格式之间的一致性.

重要说明:

  • LWSP (linear white space, 线性空白) 应谨慎使用, 因为它允许只包含空白的行
  • 核心规则假定使用 7 位 US-ASCII 环境
  • 对于使用不同字符编码的规范, 应进行适当调整