检查NSData是否包含ASCII或UTF8编码 [英] Check if NSData contains ASCII or UTF8 Encoding

查看:191
本文介绍了检查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编码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆