gpt4 book ai didi

iphone - 将十六进制字符串转换为十六进制数据

转载 作者:可可西里 更新时间:2023-11-01 17:02:15 26 4
gpt4 key购买 nike

我目前有一个包含十六进制值的 NSString。我需要将这个 NSString 对象转换成一个 NSData 对象,完全不改变它的内容。

最佳答案

我使用这段代码将 NSData 对象的调试输出“解析”回 NSData:

-(NSData*) bytesFromHexString:(NSString *)aString;
{
NSString *theString = [[aString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] componentsJoinedByString:nil];

NSMutableData* data = [NSMutableData data];
int idx;
for (idx = 0; idx+2 <= theString.length; idx+=2) {
NSRange range = NSMakeRange(idx, 2);
NSString* hexStr = [theString substringWithRange:range];
NSScanner* scanner = [NSScanner scannerWithString:hexStr];
unsigned int intValue;
if ([scanner scanHexInt:&intValue])
[data appendBytes:&intValue length:1];
}
return data;
}

这不是我最健壮的代码,但它完成了解析 [nsdata_object description] 的工作。

关于iphone - 将十六进制字符串转换为十六进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com