如何以编程方式读取Mac .textClipping文件?

Mar*_*ark 5 cocoa finder

只要将文本选择拖动到Finder,就会创建这些文件。文件大小始终为0 bytes。显然,数据存储在资源派生中。

我尝试读取资源fork [1],但得到错误代码-39(文件结尾)。

以下是有关文件的更多详细信息:

$>xattr  test.textClipping 
com.apple.FinderInfo
com.apple.ResourceFork
Run Code Online (Sandbox Code Playgroud)

[1] http://www.cocoadev.com/index.pl?UsingResourceForks

Ken*_*agh 5

textClipping文件是一种老式的资源派生文件。您将要使用打开它FSOpenResourceFile,然后使用Get1Resource来从文件中读取资源。该文件可能包含一些不同的文本资源类型:“ RTF”(富文本),“ utxt”(UTF-8),“ utf8”(UTF-8)或“ TEXT”(ASCII)类型的资源,全部ID为256。读取资源后,从Handle中提取数据并根据需要进行处理。


dic*_*ciu 2

查找FSOpenForkFSReadFork(Apple 有一个名为AudioCDSample的代码示例的代码示例)。

还有一个命令行工具可以读取这些文件(/usr/bin/DeRez),您可能想在 GDB 下查看它,但从我所见它使用已弃用的 API(即FSRead代替FSReadFork)。