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条经验 获得超13个赞
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 关注
- 161 浏览
添加回答
举报