gpt4 book ai didi

ios - 将字符串转换为 NSString 时出现问题

转载 作者:行者123 更新时间:2023-11-29 01:39:07 25 4
gpt4 key购买 nike

我想将 C++ 字符串转换为 NSString在 iOS 应用程序中使用。

但有时对于具有奇怪后缀格式的 C++ 字符串,结果为零。

例如:一个 C++ 字符串“but in fact it returned to be you!$\211/”转换为 NSString 后将产生 nil .

mainFile.open(filePath, std::ios::binary);
mainFile.seekg(current_offset);
char buffer[size];
mainFile.read(buffer, sizeof buffer);
string tempString = string(buffer)
NSString *testString = [NSString stringWithCString:tempString.c_str() encoding:NSUTF8StringEncoding];

cout << tempString我仍然读取带有奇怪代码后缀的字符串内容,但转换为 NSString 后它产生 nil

有人知道如何解决这个问题吗?

最佳答案

为什么要为 C++ 部分烦恼呢?

NSString *filePath = @"/path/to/some/file.txt";
NSFileHandle *input = [NSFileHandle fileHandleForReadingAtPath:filePath];

[input seekToOffset:current_offset];

NSData *bytes = [input readDataOfLength:size];
if (bytes)
{
NSString *str = [[NSString alloc] initWithData:bytes encoding:NSUTF8StringEncoding];
}
else
{
NSLog(@"Unable to read from file");
}

如果 strnil,那么这意味着数据不是 UTF8 编码,所以你需要找到你的数据实际上是什么编码。如果它来了在 Windows 计算机上,尝试 NSWindowsCP1251StringEncodingNSISOLatin1StringEncoding

关于ios - 将字符串转换为 NSString 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32621508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com