如何影响uint8_t
的{{1}}数组(请参阅下面的decryptedBuffer
)?
NSString
答案 0 :(得分:16)
uint8_t *
只是一个与char *
兼容的字节字符串,因此您应该能够将已转换的指针传递给stringWithUTF8String
,假设解密的字符串是UTF-8并且它以NULL结尾:
NSString *s = [NSString stringWithUTF8String:(char *)decryptedBuffer];
如果数据未以NULL结尾,则可以使用:
NSString *s = [[[NSString alloc] initWithBytes:decryptedBuffer
length:length_of_buffer
encoding:NSUTF8StringEncoding] autorelease];
答案 1 :(得分:-1)
decryptedBuffer是一个int(uint8_t),NSString stringWithUTF8String仅适用于字符串,而不适用于int。我想我找到了你需要的东西:http://lists.apple.com/archives/cocoa-dev/2004/Apr/msg01437.html
那个人使用了这种语法:
NSString *theDigitsIWant = [[NSNumber numberWithInt:x] stringValue];
所以你应该这样做:
NSString *cle2 = [[NSNumber numberWithInt:decryptedBuffer] stringValue];