gpt4 book ai didi

ios - 谁能告诉我函数的影响是什么?

转载 作者:行者123 更新时间:2023-11-29 10:26:21 25 4
gpt4 key购买 nike

第一种方法是:

-(NSData *)stringToAddBytes:(NSString*)addString
{
int length = (int)[addString length];
if(length < 2)
{
return nil;
}
Byte buf[length / 2];
for(int i = 0 ;i < length/2 ;i++)
{
NSString *str = [addString substringWithRange:NSMakeRange(i * 2, 2)];
Byte b = [self hexStringToByte:str];
buf[i]=b;
}

NSData * myD = [[NSData alloc]initWithBytes:buf length:length/2];
return myD;
}

第一个方法调用的方法。

-(Byte)hexStringToByte:(NSString*)str
{
NSArray *charArray = [[NSArray alloc]initWithObjects:@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",
@"A",@"B",@"C",@"D",@"E",@"F",nil];
NSString *str1 = [str substringWithRange:NSMakeRange(0, 1)];
int num1 = (int)[charArray indexOfObject:str1];
NSString *str2 = [str substringWithRange:NSMakeRange(1, 1)];
int num2 = (int)[charArray indexOfObject:str2];

Byte b = num1*16+num2;
return b;
}

谢谢你的回答。看起来大字符变成了小字符。

最佳答案

hexStringToByte: 会将十六进制数字表示形式的字符串(示例 @"FF")转换为 Byte 值(在此示例中为 255)。

stringToAddBytes: 使用 hexStringToByte: 创建 NSData 字节,将 addString 分解为两个字母豌 bean 并将它们转换到 Byte 值。

换句话说,这就是字符串序列化。

示例:

// 255 = 0xFF
// 170 = 0xAA
// 136 = 0x88
NSString* addString = @"FFAA88";
NSData* data = [self stringToAddBytes:addString];
// data will be [255, 170, 136]

请注意 NSData 不是数组,而是代表原始对象。

关于ios - 谁能告诉我函数的影响是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32006994/

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