Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.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
Ios NSString到std::字符串替换加密中使用的符号_Ios_Cocoa Touch_Nsstring_Objective C++_Stdstring - Fatal编程技术网

Ios NSString到std::字符串替换加密中使用的符号

Ios NSString到std::字符串替换加密中使用的符号,ios,cocoa-touch,nsstring,objective-c++,stdstring,Ios,Cocoa Touch,Nsstring,Objective C++,Stdstring,基本上,我正在接收一些std::string格式的时髦加密字符,并将它们作为NSString存储在密钥链中,因为我相信它必须是某种NSObject。一个简单的[text UTF8String]起作用,结果等于初始std::string。太棒了 当取出NSString并将其返回到std::string时,我发现一些更模糊的符号正在被其他符号替换,或者其他字符正在被完全添加。NSUTF8StringEncoding是我尝试过的唯一一种接近初始文本的编码 有没有其他方法可以将std::string转换

基本上,我正在接收一些std::string格式的时髦加密字符,并将它们作为NSString存储在密钥链中,因为我相信它必须是某种NSObject。一个简单的[text UTF8String]起作用,结果等于初始std::string。太棒了

当取出NSString并将其返回到std::string时,我发现一些更模糊的符号正在被其他符号替换,或者其他字符正在被完全添加。NSUTF8StringEncoding是我尝试过的唯一一种接近初始文本的编码

有没有其他方法可以将std::string转换为NSString,从而允许我保留这些符号

示例NSString: õñ[v¨±4%
Á˛‰:c{Q®∑¸注意,这个结果特别糟糕,一些命中率只有几个字符不同,但你可以看到许多字符被更改为大约4个其他字符。为什么不将它们存储为原始位NSData?你可以使用数据成员函数从std::string获取原始数据,并用它初始化你的NSData对象。这样你就不需要rry关于编码。然后,当您需要它时,您只需从NSData中的原始数据重新创建std::string。请注意,这一结果特别糟糕,有些命中率只有两个字符不同,但您可以看到许多字符被更改为大约4个其他字符。为什么不将它们存储为原始位NSData?您可以从std::string us获得原始数据初始化数据成员函数并使用该函数初始化NSData对象。这样,您就不必担心编码问题。然后在需要时,只需从NSData中的原始数据重新创建std::字符串。