在我的应用程序中,我将 NSString 转换为 HexString 。但我总是需要一个固定大小(16字节)的十六进制字符串,例如如果我的十六进制字符串的长度是15个字节,我希望它是16个字节。我知道我可以在十六进制字符串的开头添加零,但是如何添加,因为只需添加" 0"我正在将它转换回NSString时无效。
答案 0 :(得分: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];
}
我希望这会对你有所帮助。 快乐的编码。