可见ASCII字符是什么?

3

RFC7230是新的HTTP/1.1规范,将VCHAR定义为可见的ASCII字符。具体是哪些字符呢?RFC规范没有提到。

RFC20中的US-ASCII规范也没有说明哪些字符是可见的,哪些不可见。

1个回答

4
我假设可见字符的范围在十六进制0x21到0x7E之间。如果这个假设是正确的,那么空格(0x20)不会被包括在内,水平制表符(0x09)也不会被包括在内,DEL(0x7F)也不会被包括在内。
RFC7230中以下定义支持了这一假设:
 field-value    = *( field-content / obs-fold )
 obs-fold       = CRLF 1*( SP / HTAB )
 field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]
 field-vchar    = VCHAR / obs-text
 obs-text       = %x80-FF

这里会分别考虑空格字符,因此VCHAR不需要包括空格和水平制表符。

7
你的假设是正确的。如果你仔细阅读RFC 7230,第1.2节语法符号明确说明VCHAR的定义是从RFC 5234附录B.1引用的,该附录将VCHAR定义为 VCHAR = %x21-7E ; 可见(可打印)字符 - Remy Lebeau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接