2011-05-20 225 views

回答

1

查找FSOpenForkFSReadFork。 (Apple有一個代碼示例,名稱爲AudioCDSample)。你可能想看看它在GDB下,但從我看到它使用不推薦使用的API(這是一個命令行工具,可以讀取這些文件(/usr/bin/DeRez)即FSRead代替FSReadFork)。

4

textClipping文件是一個老式的資源分叉文件。您需要使用FSOpenResourceFile打開它,然後使用Get1Resource從文件中讀取資源。該文件可能包含文本的幾種不同資源類型:「RTF」(富文本),「utxt」(UTF-8),「utf8」(UTF-8)或「TEXT」(ASCII)類型資源ID爲256.一旦你閱讀了資源,從句柄中提取數據並用它來做你想要的。

+0

我怎麼會訪問不同的數據類型(我已經成功地讀取數據)? – Mark 2011-05-23 09:48:55

+0

不知道你在問什麼。你有什麼嘗試? – 2011-05-26 03:48:35

0

它看起來像在macOS 10.12 Sierra中,.textClipping文件現在是屬性列表。

根詞典有關鍵的「UTI-Data」。其中,關鍵字:com.apple.traditional-mac-plain-text,public.utf16-plain-text和public.utf8-plain-text具有幾種不同的數據表示形式。

下面是從一個通道讀取的例子:

NSString *path = @"/path/to/file.textClipping"; 
NSData *data = [NSData dataWithContentsOfFile:path]; 
id plist = [NSPropertyListSerialization propertyListWithData:data options:0 format:nil error:&error]; 
NSString *text; 

if (plist && error == nil) { 
    NSDictionary *utiData = [plist objectForKey:@"UTI-Data"]; 
    text = [utiData objectForKey:@"public.utf8-plain-text"]; 
} 
相關問題