簡體   English   中英

轉換或打印CGPDFStringRef字符串

[英]Convert or Print CGPDFStringRef string

如何將CGPDFStringRef轉換為unicode char? 我用CGPDFStringCopyTextString來獲取字符串然后[string characterAtIndex:i]轉換為unichar,這是正確的方法嗎? 或者有沒有辦法獲取字符串的字節並直接轉換為unicode? 這里需要一些指導。

NSString能夠處理unicode字符本身,你只需要將CGPDFString轉換為NSString,你可以進一步使用它,如下所示:

NSString *tempStr = (NSString *)CGPDFStringCopyTextString(objectString);

雖然UPT的答案是正確的,但它會產生內存泄漏

來自文檔:CGPDFStringCopyTextString“......你負責釋放這個對象。”

正確的方法是:

CFStringRef _res = CGPDFStringCopyTextString(pdfString);
NSString *result = [NSString stringWithString:(__bridge NSString *)_res];
CFRelease(_res);

這不是一個壞主意,即使你可以直接使用訪問CGPDFString CGPDFStringGetBytePtr 您還需要CGPDFStringGetLength來獲取字符串長度,因為它可能不是以null結尾的。

有關詳細信息,請參閱文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM