将uint8_t数组转换为NSString

chi*_*kos 5 iphone objective-c nsstring

如何影响uint8_t数组(见decryptedBuffer下文)NSString

uint8_t *decryptedBuffer;

NSString *cle2=[NSString stringWithUTF8String:decryptedBuffer];

NSString *str2=[player.name AES256DecryptWithKey:cle2]; 
NSLog(str2);


free(plainBuffer);
free(cipherBuffer);
free(decryptedBuffer);
Run Code Online (Sandbox Code Playgroud)

Mik*_*ler 16

uint8_t *只是一个与之兼容的字节字符串char *,所以你应该能够将转换的指针传递给stringWithUTF8String,假设解密的字符串是UTF-8并且它是NULL终止的:

NSString *s = [NSString stringWithUTF8String:(char *)decryptedBuffer];
Run Code Online (Sandbox Code Playgroud)

如果数据不是NULL终止,您可以使用:

NSString *s = [[[NSString alloc] initWithBytes:decryptedBuffer
                                 length:length_of_buffer
                                 encoding:NSUTF8StringEncoding] autorelease];
Run Code Online (Sandbox Code Playgroud)

  • 我注意到你没有接受任何你以前的答案.如果此答案可以帮助您,请单击左侧的箭头接受它. (2认同)