gpt4 book ai didi

c++ - 使用长度和编码将 const char* 字符串转换为 NSString

转载 作者:IT老高 更新时间:2023-10-28 22:22:56 25 4
gpt4 key购买 nike

我想知道哪种方法将 const char* 字符串转换为 NSString 更好。
我发现有一些事实。

  • [NSString stringWithCString:length:] 有点被弃用了。
  • [NSString stringWithCString:encoding] 可以用于我的目的

但我想用长度和编码进行转换(因为如果我有一些非 ASCII 字符,我想通过将编码设置为 UTF-8 来做到这一点)。有什么想法吗?

我现在才想

  1. 使用 std::strncpy(ch1, ch2, len) 创建其他字符并按长度复制
  2. 使用 [NSString stringWithCString:encoding:]

但是效果不好。

最佳答案

如果你的 const char* 变量被命名为 foo(并且它指向一个以 null 结尾的字符串),那么就说

[NSString stringWithUTF8String:foo]

因为 UTF-8 是 ASCII 的超集,所以无论 foo 指向 UTF-8 还是 ASCII 都可以。然后你就可以毫无问题地升级到完整的 Unicode。

关于c++ - 使用长度和编码将 const char* 字符串转换为 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2121763/

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