#import int main() { const char *bytes = "ͼƬ_6.png"; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSString *str = [[NSString alloc] initWithCString: bytes encoding: NSASCIIStringEncoding]; NSLog(@"str: %@", str); // const char *nbytes = [str cStringUsingEncoding: NSUTF16StringEncoding]; int max = [str length]; char *nbytes = malloc(max + 1); int i; for (i = 0; i < max; i++) { unichar ch = [str characterAtIndex: i]; nbytes[i] = (char) ch; printf("%x ", ch); } printf("\n"); nbytes[i] = '\0'; NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSLog(@"nstr: %@", [NSString stringWithCString: nbytes encoding: enc]); free(nbytes); [str release]; [pool release]; return 0; }