; CharHalfShape4FullShape(Char, ToFullShape = true) ; 功能:全角半角字符互相转换函数。需要 AutoHotkey_L Unicode 版本。 ; 作者:amnesiac ; 参数说明: ; Char 需转换的字符。 ; ToFullShape 为真时转换为全角,否则转换为半角。 ; StringHalfwidth2Fullwidth(ByRef String,toHalf:=false) ; 功能:全角半角字符串互相转换函数 ; 作者:蜜罐哥 ; 参数说明: ; String 需要转换的字符串 ; toHalf=true转半角,toHalf=false转全角 /* CharHalfShape4FullShape(Char, ToFullShape = true) 全角半角字符互相转换函数。需要 AutoHotkey_L Unicode 版本。 作者: amnesiac 参数说明: Char 需转换的字符。 ToFullShape 为真时转换为全角,否则转换为半角。 StringHalfwidth2Fullwidth(ByRef String,toHalf:=false) 作者:蜜罐哥 参数说明: String 需要转换的字符串 toHalf=true转半角,toHalf=false转全角 */ InputBox, Key, 输入框, 请输入要转换成全角的字符 MsgBox, % Key ":" CharHalfShape4FullShape(Key, true) InputBox, string, 输入框, 请输入要转换成全角的字符串 MsgBox, % string ":" StringHalfwidth2Fullwidth(string,false) return CharHalfShape4FullShape(Char, ToFullShape = true) { if ToFullShape && (Asc(Char) < 256) && Asc(Char) return, Chr(Asc(Char) + 65248) else if !ToFullShape && (Asc(Char) < 65504) && (Asc(Char) > 65248) return, Chr(Asc(Char) - 65248) else return, Char } StringHalfwidth2Fullwidth(ByRef String,toHalf:=false) { LCMAP_FULLWIDTH := 0x00800000,LCMAP_HALFWIDTH := 0x00400000 VarSetCapacity(output, 256) DllCall("kernel32\LCMapString", "UInt", DllCall("kernel32\GetUserDefaultLCID"), "UInt", (!toHalf?LCMAP_FULLWIDTH:LCMAP_HALFWIDTH), "WStr", String, "Int", -1, "WStr", output, "Int", 256) String:=output,VarSetCapacity(output, -1) Return String }
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)