转换或打印CGPDFStringRef字符串

时间:2011-10-18 05:21:43

标签: iphone objective-c pdf unicode unichar

如何将CGPDFStringRef转换为unicode char?我用CGPDFStringCopyTextString来获取字符串然后[string characterAtIndex:i]转换为unichar,这是正确的方法吗?或者有没有办法获取字符串的字节并直接转换为unicode? 这里需要一些指导。

3 个答案:

答案 0 :(得分:2)

NSString能够自己处理unicode字符,你只需要将CGPDFString转换为NSString,你可以按如下方式使用它:

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

答案 1 :(得分:1)

尽管UPT的答案是正确的,但它会产生内存泄漏

来自文档: CGPDFStringCopyTextString “......你有责任释放这个物体。”

正确的方法是:

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

答案 2 :(得分:0)

即使您可以使用CGPDFStringGetBytePtr直接访问CGPDFString,这也不是一个坏主意。您还需要CGPDFStringGetLength来获取字符串长度,因为它可能不会以空值终止。

请参阅documentation for more info