本文介绍了检查NSData是否包含ASCII或UTF8编码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在检索包含UTF8或ASCII编码文本的HTML。对于大多数常见的使用,它是ASCII解码,用于显示正确的文本: NSString * responseString = [[NSString alloc] initWithData :responseData encoding:NSASCIIStringEncoding];
现在我有另一个HTML页面使用UTF8编码,所以我必须使用:
NSString * responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
加载网站时,我检索的是什么样的编码是随机的。我的问题是,有没有办法检查NSData是什么样的解码是正确的使用权?所以我知道我需要使用哪种编码类型。
Thnx!
解决方案
我不知道是否可以检查NSData的编码,所以这就是我所做的:
NSString * dataStr;
dataStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
如果(!dataStr)
{
NSLog(@ASCII不工作,会尝试utf-8!);
dataStr = [[NSString alloc] initWithData:数据编码:NSUTF8StringEncoding];
}
//使用dataStr
I am retrieving HTML, containing UTF8 or ASCII encoded text. For most common use it is ASCII decoding that works to display the text right:
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];
Now I have another HTML page with UTF8 encoding, so I have to use:
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
What kind of encoding I retrieve is random when loading websites. My question is, is there a way to check the NSData for what kind of decoding is the right to use? So I know which encoding type I need to use.
Thnx!
解决方案
I don't know if it is possible to check the encoding of NSData so this is what I did:
NSString *dataStr;
dataStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
if (!dataStr)
{
NSLog(@"ASCII not working, will try utf-8!");
dataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
//Do stuff with dataStr
这篇关于检查NSData是否包含ASCII或UTF8编码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!