我遇到了以下问题: 我有一个从Firefox窗口中检索标题的脚本:
tell application "Firefox"
if the (count of windows) is not 0 then
set window_name to name of front window
end if
end tell
只要标题只包含英文字符,但是当标题包含一些非ASCII字符(在我的情况下是西里尔字母)时,它会产生一些utf-8垃圾。我已经分析了这个垃圾了,似乎我的西里尔字符转换为Utf-8而没有任何关于代码页的问题,即不使用西里尔语代码页进行转换,它使用非代码页,我有utf-8文本字符与窗口标题中的不同。
我的问题是:如何在没有任何转换的情况下直接在utf-8中检索窗口标题? 我可以通过使用AXAPI实现这一目标,但我想通过AppleScript实现这一目标,因为AXAPI需要在系统中打开一些选项。
UPD: 它在AppleScript编辑器中工作正常。但是我通过 OSACompile - > OSAExecute - > OSADisplay 通过C ++代码编译它 我不知道AppleScript编辑器的内容,所以它可能有一些关于如何编码字符的内部信息
答案 0 :(得分:1)
写完更新后我找到了答案。有时候问一个问题以便更好地理解它是好的:) 因此对于未来的搜索者:如果您想使用脚本执行的unicode结果,您应该为 OSADisplay 提供 typeUnicodeText ,那么您将获得UTF-16LE中的结果结果 AEDesc