例如,我希望能够→
使用 AutoHotKey 的文本替换功能输入(右箭头),我的脚本如下所示:
::|rarr::{ASC 2192}
|rarr
因此,当我在文本编辑器中输入并点击, . <SPACE> <ENTER>
等时,文本应该被替换为→
。但由于某种原因,我得到了这个:É
。
通常,这适用于 ASCII 和 ANSI 字符。对于 Unicode 是否应该采取不同的做法?如果是,该怎么做?
答案1
您的代码是否有效取决于接收应用程序。帮助说{ASC nnnnn}
:
[...]
可以通过指定 256 到 65535 之间的数字(不带前导零)来生成 Unicode 字符。但是,并非所有应用程序都支持此功能。有关替代方案,请参阅以下部分。
备注中的相关部分:
在 AutoHotkey 的 Unicode 版本中,Unicode 字符直接作为文本受支持,或者在任何版本中使用 {U+nnnn} 符号受支持。
因此,如果您使用 Unicode AHK 版本:
::|rarr::→
如果不:
::|rarr::{U+2192}
(使用 AHK Unicode 64 位 1.1.15.01 测试)
答案2
WinKey我编写了这个 AHK 脚本,通过按+U并输入以下内容将 unicode 字符发送到任何应用程序Character's 4-digit Hex Value
:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Unicode Support
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#U::SendUnicode()
SendUnicode()
{
Input, hex, l4
Send {U+%hex%}
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
答案3
将文件另存为UTF-8 with BOM
。
答案4
Autohotkey 脚本用于将类似 LaTeX 的输入转换为 Unicode 字符
“Ctrl+Alt+Shift+U”可打开或关闭它(查看右下角的图标可看到它处于暂停模式(图标 S)或活动模式(图标 H)。
测试:αβΓ∞
查看更多:用 unicode 符号替换 latex