使用Unicode中的AppleScript获取窗口标题

时间:2011-03-03 17:29:55

标签: unicode window applescript title

我遇到了以下问题: 我有一个从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编辑器的内容,所以它可能有一些关于如何编码字符的内部信息

1 个答案:

答案 0 :(得分:1)

写完更新后我找到了答案。有时候问一个问题以便更好地理解它是好的:) 因此对于未来的搜索者:如果您想使用脚本执行的unicode结果,您应该为 OSADisplay 提供 typeUnicodeText ,那么您将获得UTF-16LE中的结果结果 AEDesc