您可以将CR/LF编码成CSV文件吗?

xzv2uavs  于 2022-12-06  发布在  其他
关注(0)|答案(4)|浏览(168)

将CR/LF字符编码到CSV文件中是否可能/法律的?
(as CSV标准的一部分?)
如果是,我应该如何编码CR/LF?

mwecs4sa

mwecs4sa1#

是的,您需要用引号括起来:

"some value
over two lines",some other value

本文档是普遍接受的CSV标准:
包含换行符(CRLF)、双引号和逗号的字段应括在双引号中

ryevplcw

ryevplcw2#

最常见的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阅读器可能会很棘手(特别是如果你依赖于正则表达式的话)。

yfwxisqw

yfwxisqw3#

这里已经提到了CSV的标准。我很想知道更多关于这个的信息-我知道的唯一标准是

kse8i1jr

kse8i1jr4#

我不认为这是标准的一部分(如果有的话),但是你可以使用标准的C风格转义,即编码\r\n
但是,请记住,如果这样做,还应该对转义字符进行编码--即\\在解码后生成\

相关问题