iOS过滤掉无法编码的字符

时间:2015-05-05 04:21:47

标签: ios encoding nsstringencoding big5

您好我正在开发iOS应用程序,我面临以下问题。

我有一个NSString,其中包含繁体中文,简体中文和某些特殊字符,例如“®”。

当我想使用

将此NSString转换为NSData
[string dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5)]  

返回的NSData为nil,我想删除无法编码的无效字符。

我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:0)

NSString *string = @"®한자";
NSString *newStr = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSData *data = [newStr dataUsingEncoding:NSUTF8StringEncoding];

NSString *originalString = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] stringByRemovingPercentEncoding];