VB中简单实现繁体简体互转的办法。

    先说明这个方法不是我原创的东西,只是我发现CSDN上不少人在问,我也不止回答N次。有回答说用转换表的,这不失一个办法,但是对于一个简单的程序还带一个庞大的表,毕竟很多人不乐意。其实API可以简单地实现繁简互转。

事实上,这种办法尽适合国标繁体与简体的互相转换。

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

'简转繁
Public Function JToF(ByVal Str As String) As String
    Dim STlen As Long
    Dim STf As String
    STlen = lstrlen(Str)
    STf = Space(STlen)
    LCMapString &H804, &H4000000, Str, STlen, STf, STlen
    JToF = STf
End Function

'繁转简
Public Function FToJ(ByVal Str As String) As String
    Dim STlen As Long
    Dim STj As String
    STlen = lstrlen(Str)
    STj = Space(STlen)
    LCMapString &H804, &H2000000, Str, STlen, STj, STlen
    FToJ = STj
End Function

posted on 2007-03-27 08:35  柠檬隐士  阅读(1603)  评论(3编辑  收藏  举报