0

我发现 vCard 4.0 RFC 6350 新行转义规则存在一些不一致之处。第 3.4 节说:

值中的 NEWLINE (U+000A) 字符必须由两个字符编码:一个 BACKSLASH 后跟一个“n”(U+006E) 或一个“N”(U+004E)。

我假设我不仅应该替换 LF (U+000A) 字符,还应该替换 CRLF 序列。这就是 vCard 3.0 RFC 2426 中的内容以及与 vCard 2.1 的区别

我应该根据 vCard 4.0 规范替换 CRLF 序列还是只替换 LF 字符?

4

2 回答 2

0

在 vCard 4.0 中,换行符转义序列是\n. 如果本地操作系统使用 CRLF 作为其换行符序列,则 CR 和 LF 字符都将替换为单个\n.

解析 vCard 时,\n应将其替换为本地操作系统的换行符序列。

于 2013-11-24T22:27:31.277 回答
0

这仅适用于 ESCAPE 序列!也就是说,当你想在属性值中添加新行时,你必须写“\n”。当涉及到 vcard 代码本身的换行符时,RFC 声明您应该使用 CRLF (0x0D0A),因此您不应替换 vcard 文件中的任何“真实”换行符。

于 2016-03-28T00:36:15.717 回答