用我的这个,百分百好用。别忘了加分。。我难得回答问题的:)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
请参考目录里的 CodePage.mdb。对照表里的两种内码对照关系,如以『阿』为例,其相关属性列表如下种类 Big5 GB 备注
内码 AAFC B0A2
第一位数值 val("&Hxx") 171 176
第二位数值 val("&Hyy") 252 162
全字数值 val("&Hxxyy") -21764 -20318
简体中文对照表 (tbl936) 的索引值 1411
繁体中文对照表 (tbl950) 1567 (注一) 以 Big5 观点来看,『阿』为例,一、首先取出第一位数值及第二位数值;
二、其次依据第一、第二位数值,找出繁体中文对照表 (tbl950) 里的『阿』字简体中文的索引值为 1567,则在同一记录 (Record)里的内码字段 (=code),找到『阿』字简体中文的内码为 "B0A2";ORDERNO CODE
1567 B0A2 三、利用 Chr(B0A2) 函数反转其字为简体中文的『阿』字。
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