【发布时间】:2013-04-08 09:09:20
【问题描述】:
我需要创建一个包含二进制输入的文件,但是当我这样做时,它需要作为字节而不是位
例如,如果我想添加“苹果”的二进制表示 它写入文件 0110000101110000011100000110110001100101 它包含 40 位 但是,当我查看文件时,它显示 40 字节,因为它将每一位都作为字符,因此它按字节保存。 我怎样才能防止这种情况并在 VB.net 中按位保存所有信息?
Dim fs As New FileStream("\binfile.bin", FileMode.Append)
Dim bw As New BinaryWriter(fs)
Dim TempStr As String
For t As Integer = 0 To Nameoftable.Length - 1
Dim bin As String = _
LongToBinary(Asc(Nameoftable.Substring(t, 1))) 'BIT CONVERTER FUNCTION
TempStr &= bin.Substring(bin.Length - 8)
Next t
bw.Write(TempStr)
bw.Close()
非常感谢...
【问题讨论】:
-
好吧,不要使用 LongToBinary()。目前尚不清楚你为什么这样做。如果你想要字节,那么 StreamWriter 就可以了。
-
我使用 LongToBinary 函数,因为我需要将数据保存为二进制,因为在记录的某些部分我使用散列和需要的按位部分.. 例如,我需要数据的第一位状态和休息后在这种情况下,我需要按位记录数据。真正的问题是即使我将所有字符串、整数更改为二进制格式,它也会以 char 形式写入 .bin 文件中。我该如何防止这种情况发生?
-
此外,我只是尝试 streamwriter,这与 mycase 的 binarywriter 几乎相同。我需要按位写入 .. 例如,如果我将 5 位添加到 bin 文件中,它必须增长 5 位而不5 个字节..
标签: vb.net binary bit-manipulation binaryfiles