我看到提到了该术语,以及CRLF,CR,LF,CTL(控制字符)和SP(空格)。

如果它不是常规的行内空格(),那么它是什么字符?

最佳答案

STD68 Augmented BNF for Syntax Specifications: ABNF

LWSP    =  *(WSP / CRLF WSP)  ; Use of this linear-white-space rule permits
                              ; lines containing only white space*
WSP     =  SP / HTAB          ; white space
CRLF    =  CR LF              ; Internet standard newline
SP      =  %x20               ; space
HTAB    =  %x09               ; horizontal tab
CR      =  %x0D               ; carriage return
LF      =  %x0A               ; linefeed

关于LWSP的注释已从RFC2234和RFC4234更改为STD68(aka RFC5234),现在针对在新文档中使用此定义提供了建议。

用简单的英语:线性空格是:任意数量的空格或水平制表符,以及换行符(CRLF)(如果后跟至少一个空格或水平制表符)。

线性空白字符串的示例:
  • [SP]
  • [HTAB]
  • [SP] [SP]
  • [HTAB] [HTAB]
  • [SP] [HTAB] [SP]
  • [SP] [CR] [LF] [SP]
  • [CR] [LF] [SP] [CR] [LF] [SP] [CR] [LF] [HTAB]
  • [SP] [CR] [LF] [CR] [LF] [SP] [CR] [LF] [SP] [CR] [LF]这是两个线性空白:[SP]和[SP] [CR] [LF] [SP]。仅当[CR] [LF]在之前具有[SP]或[HTAB] 而在之后具有时才包括在内。
  • [SP] [VTAB] [SP]两个线性空格:[SP]和[SP],由“垂直”选项卡分隔。
  • [SP] [CR] [LF] [CR] [LF] [CR] [LF]只有第一个[SP]是线性空白。 CRLF后跟CRLF不是规范
  • 的一部分


    感谢Jukka K. Korpela提醒我检查过时的RFC,并感谢unwind阐明CRLF后面必须加空格或htab才能成为LWSP的一部分。

    07-24 09:38
    查看更多