Ale*_*987 6 iphone encoding objective-c nsstring nsdata
我得到一个HTML文件作为NSData,需要解析它以提取一些信息.我的方法是使用UTF8编码将其转换为NSString(html具有非英文字符,例如俄语) - 它失败了.我用过这样的东西:
NSString *respData = [NSString stringWithUTF8String:[theData bytes]];
Run Code Online (Sandbox Code Playgroud)
但它返回零.
唯一真正奏效的是
[NSString stringWithCString:[theData bytes] length:[theData length]];
Run Code Online (Sandbox Code Playgroud)
但是当它遇到俄罗斯人物时,例如它会返回jibrish.
然后我的下一个方法是解析数据的字节数组,提取我需要的字节,并以某种方式将它们转换为NSString.我试过这样的事情:
-(NSString *)UTF8StringFromData:(NSData *)theData{
Byte *arr = [theData bytes];
NSUInteger begin1 = [self findIndexOf:@"<li>" bArr:arr size:[theData length]]+4;
NSUInteger end1 = [self findIndexOf:@"</li></ol>" bArr:arr size:[theData length]];
Byte *arr1 = (Byte *)malloc(sizeof(Byte)*((end1-begin1+1)));
int j = 0;
for (int i = begin1; i < end1; i++){
arr1[j] = arr[i];
j++;
}
arr1[j]='\0';
NSData *temp = [NSData dataWithBytes:arr1 length:j];
return [[NSString alloc] initWithData:temp encoding:NSUTF8StringEncoding];
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*Thé 11
假设您有NSURLResponse*响应和NSData*数据:
CFStringEncoding cfEncoding = CFStringConvertIANACharSetNameToEncoding((CFStringRef) [response textEncodingName]);
NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding(cfEncoding);
NSString* string = [[NSString alloc] initWithData:data encoding:encoding];
// Do stuff here..
[string release];
Run Code Online (Sandbox Code Playgroud)
小智 0
首先这是我的代码
-(NSString *)UTF8StringFromData:(NSData *)theData{
Byte *arr = [theData bytes];
NSUInteger begin1 = [self findIndexOf:@"<li>" bArr:arr size:[theData length]]+4;
NSUInteger end1 = [self findIndexOf:@"</li></ol>" bArr:arr size:[theData length]];
Byte *arr1 = (Byte *)malloc(sizeof(Byte)*((end1-begin1+1)));
int j = 0;
for (int i = begin1; i < end1; i++){
arr1[j] = arr[i];
j++;
}
arr1[j]='\0';
NSData *temp = [NSData dataWithBytes:arr1 length:j];
return [[NSString alloc] initWithData:temp encoding:NSUTF8StringEncoding];
}
Run Code Online (Sandbox Code Playgroud)
其次 - 我从网络上获取文件内容 - 所以我不能确定任何事情。这是谷歌翻译的html,如果有帮助的话......
| 归档时间: |
|
| 查看次数: |
5970 次 |
| 最近记录: |