我陷入了这样一种情况,即在制表符分隔文件中存储ascii和二进制数据会更有利。我最初的尝试是可怕的。这甚至值得追求吗?有什么建议?我需要能够轻松地干净地解析生成的制表符分隔文件。下游,这些数据将进入MySQLdb。将二进制数据存储在db中会很好。
答案 0 :(得分:7)
base64对二进制数据进行编码。也许用base64作为前缀:或者如果有帮助的话。然后它只是一个ASCII文件,您可以轻松地解析它。
答案 1 :(得分:0)
你有没有使用不同的格式而不是制表符分隔?
由于二进制数据可能包含相应的制表符,因此这不是一项简单的任务。
答案 2 :(得分:0)
也许以hex-blob格式存储二进制数据?这至少得到了MySQL工具链的支持。
答案 3 :(得分:0)
虽然我强烈反对这种方法,但只要知道二进制数据的确切长度(以字节为单位),就可以将其直接存储在文件中。然后,您可以从长度值后的制表符开始读取。希望在读取指定的字节长度后,您有另一个制表符或换行符。
一个例子:
ASCII 1 ASCII 2 BinaryLength Blob
this is horrible 18 ®##]-û¢?#ý¯#d ú2
please don't 48 Þ¾ï¥Zߨ}è¨Ùب©×ÚX©©x©†Ú…zŠWG©j ‡˜zǘǰ˜y|‰}—
但是你应该对Base64进行二进制数据编码。