在CSV文件中传输二进制数据(图像等)

mcvkr

除了存储为字符串,数字等的其他一些元数据信息外,我还有一些二进制数据要传输。我拥有的二进制数据是作为数据库中的blob列存储的图像文件,我想在csv文件中包括blob列,将csv文件存储在文件系统或sftp服务器中,我想它的存储位置无关紧要。

如何将二进制数据另存csv文件中的另一列以这种方式传输二进制数据是一个好习惯吗?

丹尼

Base64

通常的方法是在Base64中对二进制数据进行编码这将使数据大4:3。

虽然CSV文件通常被认为是文本文件,但是您可以将原始二进制数据写入文件。

然后应将该数据用双引号引起来,并且数据中所有现有的双引号都必须用另一个双引号转义。引用这些字段还将处理二进制数据中的任何换行符,但读者必须对此予以支持。如果读取器知道它正在读取二进制数据(即如果您自己提供读取器),则其中也可能存在空字节,这不成问题。

但是,如果您的数据必须采用某种unicode格式,则可能会出现问题。

因此,通常将原始二进制数据写入csv文件不是一个好习惯,最好使用base64编码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章