Vb.net 时间戳和字符串对的最紧凑的文件存储

Vb.net 时间戳和字符串对的最紧凑的文件存储,vb.net,visual-studio-2010,Vb.net,Visual Studio 2010,我想以最简洁的方式将时间戳和字符串对写入文件。我开始写记号的字符串表示,然后是ASCII 31作为分隔符,然后是字符串,然后是CR 然后我意识到,由于记号很长,只能存储为8个字节,所以我应该将记号转换为字节,并将这些字节写入文件。这没关系,只是那些时间戳字节可能包含一个值为31的字节,因此我的ASCII 31分隔符不再是唯一的 将时间戳和字符串对存储到文件中最紧凑的方法是什么 谢谢。由于Ticks具有固定的最大长度,因此可以避免使用分隔符,先读取Ticks数据的前8个字节,然后将其余字节作为字符

我想以最简洁的方式将时间戳和字符串对写入文件。我开始写记号的字符串表示,然后是ASCII 31作为分隔符,然后是字符串,然后是CR

然后我意识到,由于记号很长,只能存储为8个字节,所以我应该将记号转换为字节,并将这些字节写入文件。这没关系,只是那些时间戳字节可能包含一个值为31的字节,因此我的ASCII 31分隔符不再是唯一的

将时间戳和字符串对存储到文件中最紧凑的方法是什么


谢谢。

由于Ticks具有固定的最大长度,因此可以避免使用分隔符,先读取Ticks数据的前8个字节,然后将其余字节作为字符串读取。
:)

由于记号有一个固定的最大长度,您可以避免使用分隔符,先读取记号的前8个字节,然后将其余字节作为字符串读取。当然!完美的非常感谢。你能把你的评论转换成我能接受的答案吗?哦,如果必要的话记得填充值!垫长?但它总是8个字节,不是吗?我应该做什么?事实上,我认为这种方法行不通。我正在使用CR来限定时间戳/字符串对,但我不能保证CR不会出现在时间戳中。如果我将字符串填充为固定宽度(我猜这就是你在评论中提到的),我将浪费大量空间,因为字符串长度是高度可变的。不,我实际上是想在必要时将长度填充为8字节。。。关于字符串,是否有一些关于内容的假设-它是人类可读的吗?有点像。它们是NMEA0183个句子,是代表6位值的ASCII字符子集,都是可打印的,所以我知道它们不会包含CR或其他不可打印的字符。