7,762
社区成员
发帖
与我相关
我的任务
分享
Private Sub Command1_Click()
Dim arrBuff(23&) As Byte
Dim arrData() As Byte
Dim strTemp As String
Dim i&, j&, k As Long
Dim w&, u&, m As Long
Open "E:\Temp\1organize.dat" For Binary As #1
m = LOF(1)
ReDim arrData(m - 1&)
Get #1, 1&, arrData
Close
j = 0&: i = 0&
w = m - 64&
Do
If (i > w) Then Exit Do
u = 0&
For k = i To 7& + i
If (0 = arrData(k)) Then Exit For
u = 1& + u
Next
If (5& <= u) Then
If (0& = arrData(k)) Then
k = 1& + k
If (160& < arrData(k)) Then
Call CopyMemory(arrBuff(0&), arrData(k), 24&)
strTemp = MultiByteToUTF16(arrBuff, CP_BIG5)
u = InStr(1&, strTemp, vbNullChar)
j = 1& + j
Debug.Print j, Left$(strTemp, u - 1&)
i = 24& + i
Else
i = k
End If
Else
i = 1& + i
End If
Else
i = 1& + i
End If
Loop
End Sub
输出数据:
1 打架沒力
2 反轉世界
3 反轉世界
4 打架沒力
5 打架沒力
6 打架沒力
7 打架沒力
8 打架沒力
9 巨神狻猊禁衛
10 帶兵跑路
11 打架沒力
12 打架沒力
13 打架沒力
14 打架沒力
15 打架沒力
16 打架沒力
17 打架沒力
18 打架沒力
19 打架沒力
20 打架沒力
21 打架沒力
22 打架沒力
23 打架沒力
24 打架沒力
25 打架沒力
26 打架沒力
27 落花時節又逢君
28 落花時節又逢君
29 我
30 猛將
31 你
32 他
33 軍師
34 我
35 軍師
36 猛將
37 猛將
38 攤貨
39 你
40 顫抖的奶
41 顫抖的奶
42 顫抖的奶
43 顫抖的奶
44 方1
45 方1
46 方1
47 軍2
48 闊少
49 趙子龍
50 顫抖的奶
51 趙子龍
52 趙子龍
53 戰謀
54 戰軍
55 戰謀
56 孤戰
57 孤戰
58 孤戰
59 戰軍
60 孤戰
61 孤戰
62 孤戰
63 戰軍
64 戰軍
65 孤戰
66 孤戰
67 孤戰
68 小軍
69 小軍
70 闊少
71 小小小
72 闊少
73 小小小
74 小豪
75 小豪
76 闊少
77 小豪
78 小小小
79 小豪
80 小軍
81 小小小
82 小豪
83 闊少
84 小軍
85 小豪
86 小豪
87 闊少
88 小軍
89 闊少
90 小豪
91 闊少
92 小豪
93 闊少
94 小豪
95 弩車
96 投石車
97 投石車
98 【黃龍士】
99 【黃龍士】
100 【黃龍士】
101 【黃龍士】
102 【黃龍士】
103 【黃龍士】
104 【黃龍士】
105 【黃龍士】
106 【黃龍士】
107 【黃龍士】
Private Declare Function MultiByteToWideChar Lib "Kernel32" ( _
ByVal CodePage As Long, ByVal dwFlags As Long, _
ByRef lpMultiByteStr As Any, ByVal cchMultiByte As Long, _
ByVal lpWideCharStr As Long, ByVal cchWideChar As Long) As Long
Public Function MultiByteToUTF16(bufData() As Byte, CodePage As Long) As String
Dim BuffSize As Long, DataSize As Long
DataSize = UBound(bufData) + 1&
BuffSize = MultiByteToWideChar(CodePage, 0&, bufData(0&), DataSize, 0&, 0&)
MultiByteToUTF16 = Space$(BuffSize)
Call MultiByteToWideChar(CodePage, 0&, bufData(0&), DataSize, StrPtr(MultiByteToUTF16), BuffSize)
End Function
CP_BIG5的值是 950 。