CSV规范(RFC 4180)标识了header
和charset
参数,但奇怪的是,它没有指定它们去哪里,或者它们如何编码。对于header
,它说:
"header"参数表示报头是否存在线。有效值为"present";或"absent".
但是在CSV文件或流中的位置?charset
去哪儿了?
参数位见规范第3节。整个文档只有几页的实际内容,正如我们所期望的CSV规范一样,但它遗漏了关键的细节。请注意,我不是在问一个web服务器到浏览器的场景,那里有MIME类型或字符集的HTTP头字段,而是CSV文件和流的一般情况。
确认CSV数据文件中确实没有地方可以放置这些元数据字段,无论是作为文件还是作为流。
正如您所提到的,这两个字段仅用于通过MIME感知协议(如HTTP)交换CSV文件的情况。
其他格式已经找到了解决这个问题的不同方法。例如JSON必须使用UTF-8编码。XML在序言中有一个编码。