如何在Apple Script

时间:2018-03-08 22:03:16

标签: perl text applescript decode encode

我在Mac上使用来自 Cultured Code 的todo列表应用 Things ,当我将任务链接复制到剪贴板时,它最终被编码为剪贴板中的十六进制代码。将它粘贴到文本文件中时没问题 - 然后显示为解码文本。

但是,我需要在AppleScript中使用剪贴板内容,并且难以将其解码为纯文本。

我尝试了多个子程序,但它们在我的情况下不起作用。我在网上找到的大多数示例都涉及简单的编码URL。到目前为止,我所拥有的代码可用于解码,例如" 0348"正确到数字1000但我的脚本不能解码编码的Things链接(顶部的那一长串数字)。

有人可以帮帮我吗?

这是我到目前为止所拥有的:

-- The link to a task in THINGS, encoded: 7468696e67733a2f2f2f73686f773f69643d41463645303746462d394230462d343539332d423143332d313846303337434237363836
-- Above link to the task in THINGS, unencoded: things:///show?id=AF6E07FF-9B0F-4593-B1C3-18F037CB7686
-- Online converter: http://www.unit-conversion.info/texttools/hexadecimal/
-- Number 1000 encoded: 03E8

set theEncodedText to "03E8"
set theDecodedText to (do shell script "perl -e 'printf(hex(\"" & theEncodedText & "\"))'") as string

set theDisplayedText to theDecodedText
display dialog theDisplayedText

谢谢你, 马丁

1 个答案:

答案 0 :(得分:0)

以下示例 AppleScript 代码概念验证我如何处理设置以<{1}}为十六进制数据的«data url ...»保存到剪贴板的变量一个物品网址链接

脚本...写入临时文件,读取临时文件,该文件现在是«data url ...»的文本字符串,并将其设置为< 变量的em> value ,然后删除临时文件。然后,它会将Things URL 链接显示为文本字符串,或者显示剪贴板不包含以下内容的消息:/// show?id =&#39;网址链接。

示例 AppleScript 代码

«data url ...»

注意: 示例 AppleScript 代码就是这样,并且不使用任何其他错误处理然后显示的内容,仅表示完成任务的多种方式之一。用户有责任根据需要添加/使用适当的错误处理