使用AutoHotKey轻松键入Unicode字符?


3

例如,我希望能够使用AutoHotKey的文本替换功能键入(向右箭头),这就是我的脚本的样子:

::|rarr::{ASC 2192}

因此,当我|rarr在文本编辑器中键入内容并按, . <SPACE> <ENTER>等等时,应将文本替换为。但由于某些原因,我得到这样的:É

通常适用于ASCII和ANSI字符。使用Unicode是否应该以其他方式完成?如果是这样,怎么办?

Answers:


4

代码是否正常取决于接收的应用程序。的帮助表示为{ASC nnnnn}

[...]

可以通过指定一个介于256和65535之间的数字(不带前导零)来生成Unicode字符。但是,并非所有应用程序都支持此功能。有关替代方法,请参见以下部分。

备注中的相关部分:

Unicode字符在AutoHotkey的Unicode版本中直接支持为文本,或者在任何版本中都使用{U + nnnn}表示法。

因此,如果您使用的是Unicode AHK构建:

::|rarr::→

如果不:

::|rarr::{U+2192}

(使用AHK Unicode 64位1.1.15.01测试)


嗨,我认为AHK没有您建议的其他版本;至少自上次安装/更新AHK以来,它已更改。该网站(autohotkey.com)仅列出一个版本。你能好好看看吗?
its_me 2014年

好的,我刚刚发现该站点很旧,而这个(ahkscript.org)是新站点;我真la!顺便说一句,只有最后一个为我工作,即::|rarr::{U+2192}
its_me 2014年

@its_me您正在使用Unicode AHK(正在运行的脚本的任务管理器中的检查描述列),第一个不起作用?您的脚本文件使用哪种编码?我的使用UTF-8(带有位顺序标记)。
hippibruder

4

我编写了这个AHK脚本,以通过按WinKey+ U并输入来将unicode字符发送到任何应用程序Character's 4-digit Hex Value

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Unicode Support
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#U::SendUnicode()
SendUnicode()
{
    Input, hex, l4
    Send {U+%hex%}
}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.