VB提供的StrConv这个函数,完全可以解决简繁体的转换问题。下面是一个简繁体的转换
的函数,可以实现简体到繁体、繁体到简体的相互转化。
'****** 简繁体互换 GB-->Unicode-->BIG5 Or BIG5-->Unicode-->GB *****************
'参数sStr为需要转换的文本
'参数iConver为要转化的类型,为1时表示繁体到简体的转换,为2时表示简体到繁体的转换
Function GBBIG5(sStr As String, iConver As Integer) As String
On Error Resume Next
Dim STR
If iConver = 1 Then 'BIG5-->GB
STR = StrConv(sStr, vbFromUnicode, &H804)
GBBIG5 = StrConv(STR, vbUnicode, &H404)
ElseIf iConver = 2 Then 'GB-->BIG5
STR = StrConv(sStr, vbFromUnicode, &H404)
GBBIG5 = StrConv(STR, vbUnicode, &H804)
End If
End Function
注:使用这一函数,结果实际上显示的仍是繁体!所以我们只能称为内码转换
如何判断文本是GB还是Big5
1. GB code的内码的两个字节都是从A0H - FEH之间的
2. BIG code的内码的第一个字节是80H - FFH,第二个字节是00H - FFH
所以,你要浏览全文,看看是否有第二个字节是小于7FH的汉字,如果有的话,一般是BIG code的。
当然也有特殊情况,不过非常少见的