在我的应用程序中,我将NSString转换为HexString。但我总是需要一个固定大小(16 字节)的十六进制字符串,例如,如果我的十六进制字符串的长度是 15 字节,我希望它是 16 字节。我知道我可以在十六进制字符串的开头添加零,但是如何添加它,因为当我将它转换回 NSString 时,简单地添加一个“0”是行不通的。
问问题
2238 次
1 回答
1
你可以试试这个代码......
+ (NSString *) stringToHex:(NSString *)str
{
NSUInteger len = [str length];
unichar *chars = malloc(len * sizeof(unichar));
[str getCharacters:chars];
NSMutableString *hexString = [[NSMutableString alloc] init];
for(NSUInteger i = 0; i < len; i++ )
{
// [hexString [NSString stringWithFormat:@"%02x", chars[i]]]; //previous input
[hexString appendFormat:@"%02x", chars[i]]; //EDITED PER COMMENT BELOW
}
free(chars);
return [hexString autorelease];
}
我希望这能帮到您。快乐编码。
于 2012-11-22T06:17:05.560 回答