Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 字节[]数组到Int_Objective C_String_Int_Byte - Fatal编程技术网

Objective c 字节[]数组到Int

Objective c 字节[]数组到Int,objective-c,string,int,byte,Objective C,String,Int,Byte,我有一个长度为128的字节。我希望能够将这些字节放入单个int(或字符串)中 然后,我希望能够获取binaryKey并将其放入单个int(如果不可能,甚至是字符串)中,如2023825512265…您可以创建如下字符串: NSMutableString *keyString = [[NSMutableString alloc] init]; for (int i = 0; i < 128; i++) { [keyString appendString:[NSString strin

我有一个长度为128的字节。我希望能够将这些字节放入单个int(或字符串)中


然后,我希望能够获取
binaryKey
并将其放入单个int(如果不可能,甚至是字符串)中,如
2023825512265…
您可以创建如下字符串:

NSMutableString *keyString = [[NSMutableString alloc] init];
for (int i = 0; i < 128; i++) {
    [keyString appendString:[NSString stringWithFormat:@"%hhu", binaryKey[i]]];
}
NSMutableString*keyString=[[NSMutableString alloc]init];
对于(int i=0;i<128;i++){
[keyString appendString:[NSString stringWithFormat:@“%hhu”,binaryKey[i]];
}

整数的大小为2、4或8字节。128字节不适合它

为其创建字符串非常简单:

NSData *data = [NSData dataWithBytes:binaryKey length:128];
NSString *string = [data base64EncodedStringWithOptions:0];

但是为什么不使用
NSData
的实例呢?

Amin,我刚刚尝试了这个,但它没有以正确的格式打印字符串。这是一种非常复杂的加密方法,我正在将Java转换为Objective-C。字节是用于加密的密钥的一部分。我没有意识到你真的想要十六进制格式。对我来说,听起来你们对任何字符串都会感到满意。奇怪的是,为什么你们想要一个十进制格式的字节字符串,却不知道一个字节从哪里结束,另一个字节从哪里开始?字符串
“2023825512265…”
可以用不同的方式进行解析,但无法判断它应该是什么。@rmaddy这是一种非常复杂的加密方法,我正在从Java转换为Objective-C(我没有编写该方法,只是为另一个平台编写)。字节是用于加密的密钥的一部分。如果您从另一个平台移植它,该平台会做什么?我无法想象它可能采用后一种方法(将单个字节的十进制字符串表示形式串联起来)。@Rob看他的例子。这正是他所要求的。binaryKey={202,38,255,122,65…}->“2023825512265…”你说得很对。我读了这个问题,从字面上说,我无法想象有人会写出如此糟糕的加密算法。但重读一遍,这就是他所要求的。哈哈。@Rob责怪谷歌@哈利,我不想责怪任何人。但是,该页面上的代码与您在这里要求的完全不同。那完全是另一回事了。
NSData *data = [NSData dataWithBytes:binaryKey length:128];
NSString *string = [data base64EncodedStringWithOptions:0];