如何在 AppleScript 中操作“数据”对象
Posted
技术标签:
【中文标题】如何在 AppleScript 中操作“数据”对象【英文标题】:How to manipulate "data" objects in AppleScript 【发布时间】:2015-02-20 06:10:57 【问题描述】:我正在通过 AppleScript 使用 iTunes。轨道的artwork
元素包含图像data
(或raw data
,在实践中返回相同的东西),可以检索它,例如,直接写入文件。 (这是一个例如 PNG 字节流。)
但是除了将它写入文件之外,我不知道如何处理这个东西。我想问它包含多少字节,甚至翻遍它(尽管后者很可能超出了 AppleScript 的范围)。在Script Debugger 中,它看起来像«data tdtaXXXXXX.....»
(我写XXX 的十六进制值),并且iTunes 脚本字典没有链接到任何有用的类型/类。
我不太确定 AppleScript 中的 guillemets 是什么意思,或者这个对象的性质是什么,或者这个东西是否可以被原生查询。对此的任何参考都会有所帮助。谢谢!
【问题讨论】:
【参考方案1】:请参阅https://books.google.com/books?id=rW5k0w_wC3MC&pg=PA57&lpg=PA57&dq=guillemets+applescript+events+data&source=bl&ots=ogzi9W4jxW&sig=7ct-n0wpzdhBhtHDJtTrZDKgEEk&hl=en&sa=X&ei=-qSYVICZAsjooASo0oKwCg&ved=0CB4Q6AEwAA#v=onepage&q=guillemets%20applescript%20events%20data&f=false,了解 AppleScript 中原始代码和数据以及 guillemets 的使用说明;看到这个答案:
Getting artwork from current track in Applescript
有关将图像数据从 iTunes 艺术作品写入文件的示例。
【讨论】:
不错的链接! => 第 49 页,“第 3 章 - 数据类型”:和第 56 页上的 描述。 我记得:在 OS 9 上,有一个 osax(脚本扩展)可以处理 对象。 是的,我相信那是“Akua Sweets”。当年我最喜欢的 AppleScript 极客之一。 我认为这个答案将是完全完整的,如果除了提供的(优秀)资源之外,它还演示了将数据类型的内容写入文件,然后将其作为字符串读回的示例或用于操作的字节值列表,然后将其更改回数据类型。这个链接似乎与讨论相关:macscripter.net/viewtopic.php?pid=113600#p113600 ...还有,哦,是的,Akua Sweets!感谢您的记忆! @CRGreen:是的,似乎 AS 周围存在的社区已经缩小到几乎是空的,正如您所建议的那样,否则会有所帮助。再加上损坏/比特腐烂/未记录的应用程序行为,坦率地说令人困惑的语言环境(具有不完整/令人困惑的替代方案:脚本桥,AppleScriptObjC,JXA)使情况变得非常糟糕。对于它的价值,我决定在这个项目中使用 ObjC 脚本桥 - ASdata
对象可以直接转换为 NSData
对象并在不反弹到磁盘的情况下进行操作。以上是关于如何在 AppleScript 中操作“数据”对象的主要内容,如果未能解决你的问题,请参考以下文章
使用 Automator/Applescript 输入数据?
通过 AppleScript 添加 InDesign XMLElements 时如何提高性能?