ios – 如何将带有textEncoding utf-8的NSData转换为NSURL

我想将NSData(textEncoding utf-8)转换为NSURL.

我正在为此编写代码,但是从NSData转换为NSString返回nil. (可能是由于编码类型)

NSString *stringFromData = [[NSString alloc] initWithData:myData encoding:NSUTF8StringEncoding]; // stringFromData is nil after execution of this line.
NSURL *url = [[NSURL alloc] initWithString:stringFromData];

那么在我的情况下,我应该怎么做才能将NSData转换为NSURL.

但是当我试图将这些数据加载到webview中时,它的工作正常.这是我将此数据加载到webview中的代码.

[self.webView loadData:myData MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil]; //PDF is showing in my webview.

但我无法将此NSData转换为NSURL.我应该使用什么编码将带有textEncoding utf-8的NSData转换为NSURL?

最佳答案 您正在尝试将表示PDF的数据加载到NSString中. PDF文件不包含表示文本的UTF-8编码字符,它是包含标题信息,字体,矢量图形和文本的文件.

在我看来,解决问题的唯一方法是将NSData的源代码更改为提供构成URL的UTF-8编码字符.

如果您无法以其他方式获取数据,为什么不检查是否可以从PDF中提取文本数据? https://github.com/zachron/pdfiphone

点赞