0

我从 IRC 服务器收到了这条消息

:shiplu!shiplu@example.com PRIVMSG &channel :bot: Poor baby!\r\n

这里PRIVMSG是命令。右边的其余部分是&channel :bot: Poor baby!

现在最后一个参数是什么?:bot: Poor baby!或者 Poor baby!

RFC2810 第 2.3.1 节中写道

    nospcrlfcl =  %x01-09 / %x0B-0C / %x0E-1F / %x21-39 / %x3B-FF
                    ; any octet except NUL, CR, LF, " " and ":"
    middle     =  nospcrlfcl *( ":" / nospcrlfcl )
    trailing   =  *( ":" / " " / nospcrlfcl )

现在如果:bot: Poor baby!是最后一个参数,它怎么能包含任何冒号?nospcrlfcl被定义为不包含任何冒号。如果 Poor baby!是最后一个参数怎么会:bot:变成中间呢?

4

1 回答 1

4

尾随(最后一个)参数用冒号标记,并且可能包含空格。中间参数不能包含空格,并且不能以冒号开头。

所以 &channel 是“中间”并且bot: Poor baby!(没有前导冒号)是“尾随”。

于 2012-10-06T03:22:55.523 回答