以某种方式将CR/LF字符编码为CSV文件是否可能/合法?
(作为CSV标准的一部分?)
如果是这样我应该如何编码CR/LF?
是的,你需要用引号括起来:
"some value over two lines",some other value
从该文档中,这是普遍接受的CSV标准:
包含嵌入式换行符的字段必须用双引号括起来
csv最常见的变种是excel兼容的,只要字段被双引号包围,就可以允许嵌入的换行符.
foo,bar,"blah blah more blah blah",baz
要么
foo,bar,"blah blah more blah blah"
要么
"blah blah more blah blah",baz
都是有效的.此机制还允许嵌入逗号.
在没有嵌入新行(或逗号)的文本字段周围使用引号也很好.如果文本本身包含双引号,那么逃避它的机制就是将两个放在一起,例如.
foo,bar,"this person said ""blah blah more blah blah""",baz
编写正确处理此问题的csv阅读器可能会非常棘手(特别是如果您依赖正则表达式).
这里提到了CSV的标准.我有兴趣了解更多相关信息 - 我所知道的唯一标准是
无论excel接受什么
RFC,网址为www.rfc-editor.org/rfc/rfc4180.txt