gpt4 book ai didi

objective-c - 如何将 NSString 转换为 std::string?

转载 作者:IT老高 更新时间:2023-10-28 11:20:26 44 4
gpt4 key购买 nike

我有一个 NSString 对象并想将其转换为 std::string

如何在 Objective-C++ 中做到这一点?

最佳答案

NSString *foo = @"Foo";
std::string bar = std::string([foo UTF8String]);

编辑:几年后,让我扩展这个答案。正如正确指出的那样,如果您最终要使用 std::string,您很可能希望将 cStringUsingEncoding:NSASCIIStringEncoding 一起使用.您可以将 UTF-8 与普通的 std::strings 一起使用,但请记住,它们对字节而不是字符甚至字素进行操作。要获得良好的“入门”,请查看 question and its answer .

另外请注意,如果您有一个不能表示为 ASCII 的字符串,但您仍然希望它在 std::string 中,并且您不希望其中包含非 ASCII 字符,您可以使用 dataUsingEncoding:allowLossyConversion: 来获取具有有损编码 ASCII 内容的字符串的 NSData 表示,然后将其扔到您的 std::string

关于objective-c - 如何将 NSString 转换为 std::string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001677/

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