怎么把数据保存为二进制文本格式
现在在TXT文本中有这样的数据
145862
145898
147895
685524
564645
怎么把这些数据以二进制方式写入文本,一个数据占4个字节
例如,上面的数据用145862 UltraEdit查看应该是:C6 39 02 00
-145862是: 3A C6 FD FF
[解决办法]
写入数据默认是 char数组-->byte
思路是变为 string-->int数组-->byte
令:145862 UltraEdit查看应该是:C6 39 02 00
这是内存里面的顺序吧。内存里高低位是反着的
[解决办法]
使用Byte数组是个好办法
[解决办法]
全是数据,好办,全部用Long类型保存为二进制,这样即可。
[解决办法]
Option ExplicitDim Data(4) As LongPrivate Sub Command1_Click() Dim FileNumber As Long, i As Long Data(0) = 145862 Data(1) = 145898 Data(2) = 147895 Data(3) = 685524 Data(4) = 564645 FileNumber = FreeFile Open "c:\TXT.txt" For Binary As #FileNumber For i = 0 To UBound(Data) Put #FileNumber, , Data(i) '结果为C6 39 02 00 EA 39 02 00 B7 41 02 00 D4 75 0A 00 A5 9D 08 00 Next Close #FileNumberEnd SubPrivate Sub Command2_Click() Dim FileData() As Byte, S As String Dim FileNumber As Long, i As Long, j As Long FileNumber = FreeFile If Dir("c:\TXT.txt", vbNormal) = "" Then MsgBox ("文件不存在!"): Exit Sub Open "c:\TXT.txt" For Binary As #FileNumber ReDim FileData(LOF(FileNumber) - 1) Get #FileNumber, , FileData Close #FileNumber j = 0 For i = 0 To UBound(FileData) Step 4 S = Hex(FileData(i + 3)) & Hex(FileData(i + 2)) & Hex(FileData(i + 1)) & Hex(FileData(i)) Data(j) = "&H" & S Debug.Print Data(j), '结果为145862,145898,147895,685524,564645 j = j + 1 Next End SubPrivate Sub Form_Load() Command1.Caption = "写入数据" Command2.Caption = "读出数据"End Sub
[解决办法]