10月62018
Au3中文内码转换UDF,方便调用
转载的 ACN [3mile] 的作品
暂时实现 BIG5=>GBK GBK=>BIG5 GBK=>GB2312 GB2312=>GBK |
#include <winapi.au3>
Local $sInputText = '中华人民共和国'
$fan=_JianToFan($sInputText)
MsgBox(0,'简转繁:',$fan)
$jian=_FanToJian($sInputText)
MsgBox(0,'繁转简:',$jian)
$big5=_GbkToBig5($fan)
MsgBox(0,'转大五:',$big5)
$gbk=_Big5toGbk($big5)
MsgBox(0,'转GBK:',$gbk)
$jian=_FanToJian($gbk)
MsgBox(0,'繁转简:',$jian)
Func _Big5toGbk(ByRef $sInputText);BIG5转GBK
$sInputText = _WinAPI_MultiByteToWideChar($sInputText, 950, $MB_COMPOSITE, False);转为繁体中文
$sInputText = _WinAPI_WideCharToMultiByte($sInputText, 936);转为GBK繁体中文
Return $sInputText
EndFunc ;==>_Big5toGbk
Func _GbkToBig5($sInputText);GBK转BIG5
$sInputText = _WinAPI_MultiByteToWideChar($sInputText, 936, $MB_COMPOSITE, False);转为繁体中文
$sInputText = _WinAPI_WideCharToMultiByte($sInputText, 950);转为GBK繁体中文
Return $sInputText
EndFunc
Func _JianToFan($sInputText);GB2312转GBK
Local $InPtr = _WinAPI_MultiByteToWideChar($sInputText, 936, $MB_COMPOSITE, False)
Local $OutPtr
Local $dll=DllOpen('kernel32.dll')
Local $result = DllCall($dll, "none","LCMapStringA", "LONG", 0x0804, "dword", 0x4000000, "STR", _
DllStructGetData($InPtr,1),"LONG",DllStructGetSize($InPtr),"str",$OutPtr,'long',DllStructGetSize($InPtr)); "PTR",$OutPtr,'long',DllStructGetSize($InPtr))
If IsArray($result) Then Return $result[5]
EndFunc
Func _FanToJian($sInputText);GBK转GB2312
Local $InPtr = _WinAPI_MultiByteToWideChar($sInputText, 936, $MB_COMPOSITE, False)
Local $OutPtr
Local $dll=DllOpen('kernel32.dll')
Local $result = DllCall($dll, "none","LCMapStringA", "LONG", 0x0804, "dword", 0x2000000, "STR", _
DllStructGetData($InPtr,1),"LONG",DllStructGetSize($InPtr),"str",$OutPtr,'long',DllStructGetSize($InPtr)); "PTR",$OutPtr,'long',DllStructGetSize($InPtr))
If IsArray($result) Then Return $result[5]
EndFunc```
扫描二维码,在手机上阅读
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!