系统是繁体系统,字符串是简体字节数组
请问如何转换成繁体字并正确显示出来?拿个字打个比方,“术”字,其字节数组是 byte(0)=2f byte(1)=67
如何转换成繁体字“術”呢?我的代码在简体系统下能正常转换,但繁体系统下就不行了
Function JFZh(fString As String) As String
Dim sLen As Long
Dim sString As String
sLen = lstrlen(fString)
sString = Space(sLen)LCMapString &H804, &H4000000, fString, sLen, sString, sLen
JFZh = sString
End Function
请问如何转换成繁体字并正确显示出来?拿个字打个比方,“术”字,其字节数组是 byte(0)=2f byte(1)=67
如何转换成繁体字“術”呢?我的代码在简体系统下能正常转换,但繁体系统下就不行了
Function JFZh(fString As String) As String
Dim sLen As Long
Dim sString As String
sLen = lstrlen(fString)
sString = Space(sLen)LCMapString &H804, &H4000000, fString, sLen, sString, sLen
JFZh = sString
End Function
Private Declare Function LCMapString Lib "kernel32" Alias "LCMapStringA" (ByVal Locale As Long, ByVal dwMapFlags As Long, ByVal lpSrcStr As String, ByVal cchSrc As Long, ByVal lpDestStr As String, ByVal cchDest As Long) As Long
Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long
Dim AppDisk$, aa$, ii&
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
AppDisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\")
Command1.Caption = "简体转繁体"
Open AppDisk & "test.txt" For Input As #1
Text1.Text = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
End SubPrivate Sub Command1_Click()
ii = lstrlen(Text1.Text)
aa = Space(ii)
If Command1.Caption = "简体转繁体" Then
LCMapString &H804, &H4000000, Text1.Text, ii, aa, ii
Else
LCMapString &H804, &H2000000, Text1.Text, ii, aa, ii
End If
Text1.Text = aa
Command1.Caption = IIf(Command1.Caption = "繁体转简体", "简体转繁体", "繁体转简体")
End Sub