本文介绍了Applescript 错误无法生成 unicode 文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试编写一个简单的 applescript 脚本来获取 WriteRoom(一个简单的文本编辑器)的内容并通过降价解析器运行它,然后将生成的 html 复制到剪贴板:

I'm trying to write a simple applescript script to get the contents of WriteRoom (a simple text editor) and run it through a markdown parser then copy the resulting html to the clipboard:

tell application "WriteRoom" to activate
tell application "System Events" to keystroke "a" using command down
tell application "System Events" to keystroke "c" using command down
set the clipboard to (do shell script "cd ~;echo \"" & (the clipboard) & "\" >> writeroom.md; /usr/local/bin/markdown writeroom.md")

但是当我运行它时,我得到一个错误有时:

but when I run it I get an error sometimes:

无法使{«类RTF»:«数据RTF 7B5C727466315C616E73695C616E7369637067313235325C636F636F61727466313033385C636F636F617375627274663335300A7B5C666F6E7474626C5C66305C6673776973735C6663686172736574302048656C7665746963613B7D0A7B5C636F6C6F7274626C3B5C7265643235355C677265656E3235355C626C75653235353B7D0A5C706172645C74783536305C7478313132305C7478313638305C7478323234305C7478323830305C7478333336305C7478333932305C7478343438305C7478353034305C7478353630305C7478363136305C7478363732305C716C5C716E61747572616C5C7061726469726E61747572616C0A0A5C66305C66733332205C636630202A20746573745C0A2A20617364665C0A2A206E6F5C0A2A207465737474657374746573747D»,«类UTF8»:*测试* 自卫队* 不* testtesttest", «class ut16»:"* 测试* 自卫队* 不* testtesttest",统一风格:«数据ustl0200000090000000000000001400000020000000010000002100000000000000010000006C000000040000000000000000000000020100000100000000000000050100002C000000646D616E2400000001000000040000000100000000000000000000000900000048656C76657469636100000006010000040000000000100007010000060000000000000000000000»}进式Unicode文本.

所选文本似乎没有复制到剪贴板,而是转换了我剪贴板上的所有内容.有什么想法吗?

The selected text doesn't seem to be copied to the clipboard, instead whatever I had on my clipboard is converted. Any ideas?

推荐答案

您的应用程序中的文本似乎被复制为 RTF 流.要将其转换为简单文本,请尝试使用 as text:

It seems that text from your application is copied as a RTF stream. To convert it to a simple text please try using as text:

(the clipboard as text)

更新

再次阅读您的问题后,我下载了 WriteRoom 并想出了这个解决方案:

After reading your question again, I I've downloaded WriteRoom and came up with this solution:

tell application "WriteRoom" to activate
tell application "System Events"
    tell application process "WriteRoom"
        set content to (value of text area 1 of scroll area 1 of front window) as text
    end tell
end tell

display dialog content

然后您可以使用 content 变量进行进一步处理.像我一样使用 Mac 程序Accessibility Inspector 找出任何窗口的 UI 定义.

Then you can use the content variable for further processing. Use the Mac program Accessibility Inspector to find out the UI definition of any window as I did.

这篇关于Applescript 错误无法生成 unicode 文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 09:17