- (NSString*)stringFromHexString:(NSString*)hexString { // eg. hexString = @"8c376b4c" char*myBuffer = (char*)malloc((int)[hexString length] / 2 + 1); bzero(myBuffer, [hexString length] / 2 + 1); for(inti = 0; i < [hexString length] - 1; i += 2) { unsignedintanInt; NSString* hexCharStr = [hexString substringWithRange:NSMakeRange(i, 2)]; NSScanner* scanner = [[[NSScanneralloc] initWithString:hexCharStr] autorelease]; [scanner scanHexInt:&anInt]; myBuffer[i / 2] = (char)anInt; } NSString*unicodeString = [NSStringstringWithCString:myBuffer encoding:NSUnicodeStringEncoding];// printf("%s\n", myBuffer); free(myBuffer); NSString*temp1 = [unicodeString stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"]; NSString*temp2 = [temp1 stringByReplacingOccurrencesOfString:@"\""withString:@"\\\""]; NSString*temp3 = [[@"\""stringByAppendingString:temp2] stringByAppendingString:@"\""]; NSData*tempData = [temp3 dataUsingEncoding:NSUTF8StringEncoding]; NSString*temp4 = [NSPropertyListSerializationpropertyListFromData:tempData mutabilityOption:NSPropertyListImmutable format:NULL errorDescription:NULL]; NSString*string = [temp4 stringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"]; NSLog(@"-------string----%@", string); //輸出 Google returnstring;}