iOS filter out characters that cannot be encoded

205 views Asked by At

Hi I am developing an iOS application and I am facing the following question.

I have a NSString that contains Traditional Chinese, Simplified Chinese and probably some special characters like "®".

When I want to convert this NSString to NSData using

[string dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5)]  

the NSData returned is nil and I want to remove the invalid characters that cannot be encoded.

How can I do this? Thanks!!

1

There are 1 answers

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

NSData *data = [newStr dataUsingEncoding:NSUTF8StringEncoding];

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