- (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); //输出 谷歌
returnstring;
}
十六进制字符串转换成中文
最新推荐文章于 2022-06-17 15:07:34 发布