Skip to content

Instantly share code, notes, and snippets.

@c0ming
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save c0ming/681495481b3b0fc0b874 to your computer and use it in GitHub Desktop.
Save c0ming/681495481b3b0fc0b874 to your computer and use it in GitHub Desktop.
NSString Encoding issue
// 1.usedEncoding. try to determine the encoding, and return the encoding which was used.
NSURL *url = xxx;
NSStringEncoding encoding = NSUTF8StringEncoding;
NSError *error = nil;
NSString *foo = [NSString stringWithContentsOfURL:url usedEncoding:&encoding error:&error];
if (foo == nil) {
NSLog(@"%@", error);
NSLog(@"%@", [NSNumber numberWithUnsignedLong:encoding]);
NSLog(@"%@", [NSString localizedNameOfStringEncoding:encoding]);
}
// 2.availableStringEncodings
const NSStringEncoding *availableStringEncodings = [NSString availableStringEncodings];
NSStringEncoding endcoding;
NSData *data = xxx;
NSString *foo = nil;
while ((endcoding = *availableStringEncodings++) != 0) {
foo = [[NSString alloc] initWithData:data encoding:endcoding];
if (foo != nil) {
NSLog(@"%@", [NSNumber numberWithUnsignedLong:endcoding]);
break;
}
}
// 3. CFStringConvertEncodingToNSStringEncoding
NSData *data = xxx;
NSString *foo = [[NSString alloc] initWithData:data encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingHZ_GB_2312)];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment