3

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

4

3 回答 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 回答