如何将 CGPDFStringRef 转换为 unicode char?我使用 CGPDFStringCopyTextString 获取字符串,然后 [string characterAtIndex:i] 转换为 unichar,这是正确的方法吗?或者有什么方法可以获取字符串的字节并直接转换为 unicode?这里需要一些指导。
问问题
2255 次
3 回答
3
NSString 本身能够处理 unicode 字符,您只需要将 CGPDFString 转换为 NSString ,然后您可以按如下方式使用它:
NSString *tempStr = (NSString *)CGPDFStringCopyTextString(objectString);
于 2011-10-18T05:48:41.330 回答
1
虽然UPT的回答是正确的,但是会产生内存泄漏
来自文档:CGPDFStringCopyTextString“...您负责释放此对象。”
正确的方法是:
CFStringRef _res = CGPDFStringCopyTextString(pdfString);
NSString *result = [NSString stringWithString:(__bridge NSString *)_res];
CFRelease(_res);
于 2012-03-29T16:24:50.757 回答
0
这不是一个坏主意,即使您可以直接使用CGPDFStringGetBytePtr
. 您还需要CGPDFStringGetLength
获取字符串长度,因为它可能不是以空值结尾的。
有关更多信息,请参阅文档
于 2011-10-18T05:35:57.170 回答