我发现vCard 4.0 RFC 6350新行转义规则存在一些不一致。 Section 3.4说:
值中的NEWLINE(U + 000A)字符必须由两个编码 字符:BACKSLASH后跟'n'(U + 006E)或 'N'(U + 004E)。
我认为我不仅要替换LF(U + 000A)字符,还要替换CRLF序列。这就是vCard 3.0 RFC 2426和the difference from vCard 2.1中的情况。
我应该根据vCard 4.0规范替换CRLF序列还是仅替换LF字符?
答案 0 :(得分:0)
这仅适用于ESCAPE序列!也就是说,当你想在属性值中添加新行时,你必须写“\ n”。当谈到vcard-code本身的换行符时,RFC声明你应该使用CRLF(0x0D0A),所以你不应该替换你的vcard文件中的任何“真正的”换行符。
答案 1 :(得分:-1)
在vCard 4.0中,换行符转义序列为\n
。如果本地操作系统使用CRLF作为其换行序列,则CR和LF字符都将替换为单个\n
。
解析vCard时,\n
应替换为本地操作系统的换行序列。