回复 7# czjt1234
谢谢大神提供的VBS代码!Asc("")转码我知道怎么应用,但都是粗浅的层次,但是我不明白,为什么在后面 + 65536 就和 GB2312 码对上了呢?
有什么参考或说法吗?因为我是自学瞎摸,没接受过体系的教学,希望大神不吝赐教!
根据你的代码思路我写下的转码的BAT,我还是比较偏向VBS 转码,毕竟有时候代码要仍到古老的 XP 虚拟机上去运行,XP 以前的WIN没有 powershell
脚本我写好了,,,大神参阅一下!- @Echo off
- Title 汉字转GB2312十进制码
- SET/P 字=请输入你要转码的字符:
- CALL,:GB2312 %字%
- :GB2312
- Title 汉子转GB2312 码
- Set 字=%~1
- :拆字
- Set 字符=%字符%%字:~0,1%,
- Set 字=%字:~1%
- IF not "%字%"=="" Goto,拆字
- Set 字符=%字符:~0,-1%
- Echo.if wscript.arguments.count=0 then msgbox "没有转码参数!" ^& wscript.quit >%Temp%\GB2312.VBS
- Echo.WScript.Echo CLng("&H" ^& Hex(Asc(WScript.Arguments(0)))) >>%Temp%\GB2312.VBS
- For %%a in (%字符%) do ( For /f "delims=" %%i in ('"Cscript.exe //e:Vbscript //nologo %Temp%\GB2312.VBS %%a"') do ( Echo. ALT + %%i ))
- Del %Temp%\GB2312.VBS /Q
- PAUSE>NUL & EXIT
复制代码 ALT + 53435
ALT + 53435
ALT + 47351
ALT + 52923
ALT + 45295
ALT + 55034
ALT + 47613
ALT + 52946
ALT + 46532
ALT + 46323
ALT + 51697
ALT + 41889
最终实现的无输入法打字!我才发现我一直习惯的把ALT 键打成 ATL ,,,果然是没编程天赋!
再反向写一个解码的,应该是把Asc()码 还原成 chr() 慢慢的继续摸!不过不用还原也成直接按 ALT 就可以解码! |