问题描述
我试图使用initWithContentsOfURL:encoding:error:像这样:
I am trying to use initWithContentsOfURL:encoding:error: like this :
NSURL *url = [[NSURL alloc] initWithString:@"http://my_url.com/my_file.xml"];
NSError *error = nil;
NSString *my_string = [[NSString alloc] initWithContentsOfURL:url
encoding:NSUTF8StringEncoding
error:&error];
我得到一个空my_string变量。
I get a empty my_string variable.
我试过initWithContentsOfURL:方法(在iOS 2.0中已弃用),我得到我的页面的内容。但是我仍然需要指定编码语言。
I tried the initWithContentsOfURL: method (which is deprecated in iOS 2.0) and I get the content of my page. But I still need to specify a encoding language.
出现了什么问题?
推荐答案
您的文件的编码可能不是UTF8。
the encoding of your file is probably not UTF8.
如果您不知道文件的编码,可以尝试此方法:
If you don't know the encoding of your file, you could try this method:
- (id)initWithContentsOfURL:(NSURL *)url usedEncoding:(NSStringEncoding *)enc error:(NSError **)error
您必须传递一个指向NSStringEncoding的指针,就像您对错误所做的那样。
you have to pass a pointer to a NSStringEncoding, like you did with error.:
NSURL *url = [[NSURL alloc] initWithString:@"http://my_url.com/my_file.xml"];
NSError *error = nil;
NSStringEncoding encoding;
//NSString *my_string = [[NSString alloc] initWithContentsOfURL:url
// encoding:NSUTF8StringEncoding
// error:&error];
NSString *my_string = [[NSString alloc] initWithContentsOfURL:url
usedEncoding:&encoding
error:&error];
之后,您的编码就会出现在编码变量中。如果你对使用的编码不感兴趣,我想你也可以传递NULL作为指针。
after this your encoding is present in the encoding variable. If you are not interested in the used encoding, I guess you could pass NULL as pointer as well.
这篇关于如何使用stringWithContentsOfURL:encoding:error :?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!