Set stm = CreateObject("adodb.stream")
stm.Type = 2 '以本模式读取
stm.mode = 3
stm.CharSet = "unicode"
stm.Open
A="北"
b="北"
a = StrConv(T, vbFromUnicode)
stm.WriteText a & vbCrLf
stm.WriteText b & vbCrLf用winhex查看 结果为:
FF FE B1 B1 0D 0A 0D 00 0A 00 17 53 0D 00 0A 00 0D 00 0A 00
可我想要的结果是
FF FE B1 00 B1 00 0D 0A 0D 00 0A 00 17 53 0D 00 0A 00 0D 00 0A 00
即 “北”字 转换成 B1 00 B1 00 而现在写入后成 B1B1
stm.Type = 2 '以本模式读取
stm.mode = 3
stm.CharSet = "unicode"
stm.Open
A="北"
b="北"
a = StrConv(T, vbFromUnicode)
stm.WriteText a & vbCrLf
stm.WriteText b & vbCrLf用winhex查看 结果为:
FF FE B1 B1 0D 0A 0D 00 0A 00 17 53 0D 00 0A 00 0D 00 0A 00
可我想要的结果是
FF FE B1 00 B1 00 0D 0A 0D 00 0A 00 17 53 0D 00 0A 00 0D 00 0A 00
即 “北”字 转换成 B1 00 B1 00 而现在写入后成 B1B1
Dim a(0 To 1) As ByteDim B1, B2, B3, B4 As Byte
QW = "c:\test.txt"MsgBox Hex(Asc("北"))
Open QW For Binary As #1
Dim S() As String
Dim B() As Byte
Dim I As Long
Dim L As Long
S = Split("FF FE B1 00 B1 00 0D 00 0A 00 17 53 OD 00 0A 00 ", " ")
L = UBound(S)
ReDim B(L) As Byte
For I = 0 To L
B(I) = CByte(Val("&h" & S(I)))
Debug.Print B(I);
NextPut #1, , B
Close #1
Close
MsgBox "已保存", , "提示"
Unicode 编码是 &H5317
1、汉字->区位码
Dim byteU() As Byte
Dim intP As Integer
Dim strP As String
byteU = StrConv("北", vbFromUnicode)
strP = ""
For intP = LBound(byteU) To UBound(byteU)
strP = strP & Right("00" & Hex(byteU(intP)), 2) & " "
Next intP
Debug.print strP2、区位码->汉字
Dim byteU(1) As Byte
Dim intP As Integer
Dim strP As String
byteU(0) = &HB1
byteU(1) = &HB1
strP = StrConv(byteU, vbUnicode)
Debug.Print strP
“北” B1 00 B1 00 回车换行后
“北” 17 53
我现在想用4楼的 代码 做个转换函数,然后就能批量转了
“北” B1 00 B1 00 回车换行后
“北” 17 53
我现在想用4楼的 代码 做个转换函数,然后就能批量转了