分享

很简单实用的繁体与简体互相转换的代码

 dahaocaii 2011-08-17
 
 
 
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 STf As String    '繁体字符串
Dim STj As String    ' 简体字符串
Dim STlen As Long    ' 待转换字串长度
Sub Test1()    'Gb码简体转繁体
    STj = "中华人民共和国"
    STlen = lstrlen(STj)
    STf = Space(STlen)
    LCMapString &H804, &H4000000, STj, STlen, STf, STlen
    Debug.Print STf
End Sub
Sub Test2()    'Gb码繁体转简体
    STf = "中華人民共和國"
    STlen = lstrlen(STf)
    STj = Space(STlen)
    LCMapString &H804, &H2000000, STf, STlen, STj, STlen
    Debug.Print STj
End Sub
 
Sub Test3()    '国标繁体转港台繁体
    Te = "君不見黃河之水天上來,奔流到海不復回。"
    ST = StrConv(Te, vbFromUnicode)
    ST = StrConv(ST, vbUnicode, &H804)
    ST = StrConv(ST, vbFromUnicode, &H404)
    Te = StrConv(ST, vbUnicode)
    Debug.Print Te
End Sub
Sub Test4()    '港台繁体转国标繁体
    Te = "?ぃǎ独猠ぇ?ぱ?ㄓ?゜瑈??ぃ確??"
    ST = StrConv(Te, vbFromUnicode)
    ST = StrConv(ST, vbUnicode, &H404)
    ST = StrConv(ST, vbFromUnicode, &H804)
    Te = StrConv(ST, vbUnicode)
    Debug.Print Te
End Sub
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多