// 普通字符串转换为十六进制的字符串 - (NSString *)hexStringFromString:(NSString *)string { NSData *myD = [string dataUsingEncoding:NSUTF8StringEncoding]; Byte *bytes = (Byte *)[myD bytes]; NSString *hexStr=@""; for(int i=0;i<[myD length];i++) { NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff]; //16进制数 if([newHexStr length]==1) { hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr]; } else { hexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr]; } } return hexStr; } // 十六进制转换为普通字符串 - (NSString *)stringFromHexString:(NSString *)hexString { char *myBuffer = (char *)malloc((int)[hexString length] / 2 + 1); bzero(myBuffer, [hexString length] / 2 + 1); for (int i = 0; i < [hexString length] - 1; i += 2) { unsigned int anInt; NSString * hexCharStr = [hexString substringWithRange:NSMakeRange(i, 2)]; NSScanner * scanner = [[NSScanner alloc] initWithString:hexCharStr]; [scanner scanHexInt:&anInt]; myBuffer[i / 2] = (char)anInt; } NSString *unicodeString = [NSString stringWithCString:myBuffer encoding:4]; return unicodeString; }
iOS开发笔记之普通字符串与十六进制字符串的相互转换
猜你喜欢
转载自blog.csdn.net/zzyeeaa/article/details/79716287
今日推荐
周排行