从 NSSTRING iOS 中删除空字符



我有一行代码导致我的应用程序崩溃。

 trimmedtext=[NSString stringWithCString:[mycharstring cStringUsingEncoding:[ NSString defaultCStringEncoding ] ] encoding:NSUTF8StringEncoding];

错误是: * 由于未捕获的异常"NSInvalidArgumentException"而终止应用程序,原因:"* +[NSString stringWithCString:encoding:]: NULL cString"

它崩溃是因为我认为我的 NSString 中有空字符。

NSLog给了我这个'朋友Xx',字符串中有一个表情符号!

如何克服此问题?

任何帮助表示赞赏。

正确答案: text=[NSString

stringWithCString:[mycharstring UTF8String ] encoding:NSUTF8StringEncoding];

它崩溃是因为我的 NSString 中有空字符。

除了它没有。

问题是C字符串(类型为const char *)是一个指针,其值NULL,即它是无效的指针。例如,这样做的主要原因可能是mycharstring变量nil

编辑:所以字符串中有一些默认 C 字符串编码无法处理的符号,这就是它返回 NULL 的原因。请尝试改用[mycharstring UTF8String]

最新更新