国字的机内码国标码和区位码
类别 数值
机内码 B9FAH
国标码 397AH
区位码 195AH
区位码为195AH 换算成十进制为2590 即国字的点阵位
于第25 区的第90 个字的位置相当于在文件HZK16 中的位置为
32 [(25-1) 94 (90-1)] 75040B 以后的32 个字节为国的显示点阵
我只知道这些,可是,那个16进制的文件内的格式是什么?怎样取出这32个字节呢?
类别 数值
机内码 B9FAH
国标码 397AH
区位码 195AH
区位码为195AH 换算成十进制为2590 即国字的点阵位
于第25 区的第90 个字的位置相当于在文件HZK16 中的位置为
32 [(25-1) 94 (90-1)] 75040B 以后的32 个字节为国的显示点阵
我只知道这些,可是,那个16进制的文件内的格式是什么?怎样取出这32个字节呢?
Static count
Dim Char(1) As Byte
Dim buffer As Byte
Me.Show
DoEvents
Dim qu As Integer, wei As Integer
Dim x, y, t As Integer
Open App.Path & "\HZK16." For Binary As #1
For qu = 1 To 94
Me.Caption = Str(Int(qu / 94 * 100)) & "%完成"
For wei = 1 To 94
Char(0) = 160 + qu
Char(1) = 160 + wei Label1.Caption = StrConv(Char(), vbUnicode)
DoEvents
For y = 0 To 15
For t = 0 To 1
buffer = 0
For x = 0 To 7
buffer = buffer * 2 myPoint = Picture1.Point(t * 8 + x, y)
If myPoint <> 7372944 Then
buffer = buffer + 1
End If
Next x
Put #1, Loc(1) + 1, buffer
Next t
Next y
Next wei
Next qu
Close
Unload Me
End Sub
Dim hCode As Long, lCode As Long '高位低位码
Dim Code As Long
Dim a() As Byte
Dim i As Integer, j As Integer, k As Integer
a = StrConv(strIn, vbFromUnicode)
hCode = a(0)
lCode = a(1)
' Code = (hCode - 1) * 94 + lCode
Code = ((hCode - 161) * 94 + lCode - 161) * 32
Dim FileNo As Integer
Dim getCode(31) As Byte
Dim tmp As String
'读文件
FileNo = FreeFile
Open App.Path & "\hzk16.dat" For Binary As FileNo
Get #FileNo, , tmp
Get #FileNo, Code + 1, getCode
Close'取文字
For i = 0 To 15
For j = 0 To 1
For k = 0 To 7
If (getCode(i * 2 + j) And 2 ^ (7 - k)) <> 0 Then '是否有点(00110010)
Debug.Print "*";
txtShow.Text = txtShow.Text & "*"
Else
Debug.Print " ";
txtShow.Text = txtShow.Text & " "
End If
Next k
Next j
Debug.Print
txtShow.Text = txtShow.Text & vbCrLf
txtShow.Text = txtShow.Text & vbCrLf
Next i
End Function
http://www.csdn.net/cnshare/soft/14/14895.shtm