0

下面的块是我作为调用返回的NSData表示。块的编码是什么,我应该如何将它转换为 数据是NSAppleEventDescriptorNSAppleScriptNSDataNSString

<646c6532 00000000 6c697374 00000174 00000000 00000000 00000018 6c697374 0000000c 00000000 75747874 00000008 0068006f 006d0065 75747874 0000001a 00540065 006d0070 00390033 00370033 00360030 00360031 00367574 78740000 001a0054 0065006d 00700032 00300037 00370030 00390033 00310033 75747874 00000018 00540065 006d0070 00390038 00380039 00340038 00310037 75747874 0000001a 00540065 006d0070 00330033 00350032 00390030 00300031 00397574 78740000 001a0054 0065006d 00700035 00310039 00380039 00380030 00300032 75747874 0000001a 00540065 006d0070 00330030 00300036 00310038 00320031 00387574 78740000 000a0044 00610076 00690064 75747874 00000010 0055006e 00740069 0074006c 00650064 75747874 0000000c 00700067 00690073 00680061 75747874 0000001a 00540065 006d0070 00380038 00390038 00370038 00330034 00357574 78740000 001a0054 0065006d00700035 00380038 00360038 00320035 00300037>

非常感谢,大卫

4

1 回答 1

0

使用-[NSAppleEventDescriptor stringValue]- 如果它还不是一个,它将强制 AEDesc 输入 UnicodeText 并将其解压缩为 NSString (否则如果它不能被强制则返回 nil )。

-[NSAppleEventDescriptor data]除非您需要解码typeLongDateTimeNSAppleEventDescriptor 不提供便捷打包/解包方法的 AE 类型之一(例如 ),否则您不应该四处寻找,但这种方式很疯狂。

如果您的 AppleScript 代码是应用程序的一部分而不是用户提供的脚本,请考虑使用 AppleScript-ObjC 而不是 NSAppleScript。与 PyObjC 和 RubyCocoa 一样,ASOC 使 AppleScript 脚本对象在程序的其余部分中显示为常规的 Cocoa 类和实例,并在它们过桥时自动将常见的 AS 值转换为它们的 Cocoa 等价物,因此使用起来更加容易和强大。

于 2013-07-15T13:03:13.633 回答