3 回答

TA貢獻1848條經驗 獲得超2個贊
下面是改進后的LInputQ函數,應該可以正確讀取漢字字符的。
Public Function LInputQ(ByVal FileNumber As Integer) As String
Dim t As Byte
Get #FileNumber, , t
t = &HFF - t Xor Q
Do Until t = 13
LInputQ = LInputQ & t
Get #FileNumber, , t
t = &HFF - t Xor Q
Loop
Get #FileNumber, , t
LInputQ = StrConv(LInputQ, vbUnicode)
End Function

TA貢獻2065條經驗 獲得超14個贊
Dim bytes() As Byte
dim lLength as Long
Open "c:\main.exe" For Binary As #1 '讀取字節
lLength=LOF(1)
ReDim bytes(1 To lLength) As Byte
Get 1, , bytes
Close #1
'將文件以十六進制方式輸出到Text1中,這個過程很耗時,130K的文件大概需要2分鐘,而且越到后面速度越慢
Dim strTmp As String
For i = 1 To lLength
strTmp = strTmp & " " & Hex(bytes(i))
DoEvents
Next
Text1.Text = strTmp
Open "d:\abcd.exe" For Binary As #1 '將字節轉存
Put 1, , bytes
Close #1
End Sub
這個是以前用過的,你稍微改下就可以用了

TA貢獻1829條經驗 獲得超7個贊
‘不’ 的16進制嗎是 B2 BB
單個字節換成十進制當然是178,187
你的(Ascii是13,78)是如何得來的
''''''''''''''''''''
如何從178,187得到字符串"不"?:
你把這兩個字節按順序寫到文件里自然就是"不"字了
你都把它拆成字節了還要還原干嘛,中文是以字為單位的
VB的string類型確實很難理解
像VB里的 ‘不A’是用3個字節儲存的 ‘B2 BB 41’
- 3 回答
- 0 關注
- 210 瀏覽
添加回答
舉報