简体   繁体   English

无法转换的NSData到NSString的

[英]Cannot convert NSData to NSString

I have text that I am encrypting as follows: 我要加密的文字如下:

NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSData *encryptedData = [RNEncryptor encryptData:data withSettings:kRNCryptorAES256Settings password:[loggedUser getKey]error:&error];

I am then trying to to convert the string off and store it somewhere. 然后,我试图将字符串转换掉并存储在某个地方。 This is what I am trying: 这是我正在尝试的:

NSString *convertedString = [[NSString alloc] initWithData:encryptedData encoding:NSUTF8StringEncoding];

However the string convertedString is always null/nil even though the debugger shows me encryptedData always has data inside of it. 但是,即使调试器向我显示encryptedData始终在其中包含数据,字符串convertedString始终为null / nil。 How do I convert this to a string? 如何将其转换为字符串? Also, along the same lines, how do I convert it back into NSData to be decrypted later? 此外,同样,如何将其转换回NSData以便稍后解密?

Here is an example output of the NSData I am trying to convert: 这是我尝试转换的NSData的示例输出:

Printing description of encryptedData: <0301ff17 956167db a88cdc14 7cab1a85 28ad01c9 78c5a843 ecf22404 9c2c6915 7681277b 6e1161d8 1dd1122b 29c65f76 8bf95652 791cf2b0 3231b7b6 dbd00cb6 56301058 bfdebd9c 5edfcfe2 bc21c4fc 707a> 加密数据的打印说明:<0301ff17 956167db a88cdc14 7cab1a85 28ad01c9 78c5a843 ecf22404 9c2c6915 7681277b 6e1161d8 1dd1122b 29c65f76 8bf95652 791cf2b0 3231b7b6 dbd00cb6 56301058 bfcd4>

you should send NSData directly. 您应该直接发送NSData or base64 encoded it using base64EncodedStringWithOptions: 或使用base64EncodedStringWithOptions: base64进行编码base64EncodedStringWithOptions:

Try this: 尝试这个:

NSString *a = [[NSString alloc] initWithBytes:[data bytes] length:[data length] encoding:NSASCIIStringEncoding];

Most common except UTF-8 encoding is: 除UTF-8编码外,最常见的是:

  • NSASCIIStringEncoding NSASCIIStringEncoding
  • NSUnicodeStringEncoding NSUnicodeStringEncoding
  • NSISOLatin1StringEncoding NSISOLatin1StringEncoding
  • NSISOLatin2StringEncoding NSISOLatin2StringEncoding
  • NSSymbolStringEncoding NSSymbolStringEncoding

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM