Cocoa NSString是否支持非标准/非英语字符?
我正在使用xml解析器填充数组。此字符串:“Calle Mare de Déu de”在Cocoa NSString是否支持非标准/非英语字符?,cocoa,localization,nsstring,Cocoa,Localization,Nsstring,我正在使用xml解析器填充数组。此字符串:“Calle Mare de Déu de”在[NSPlaceholderString initwithstring:][/code>处生成异常。在SnowLeopard(10.6)上,它报告一个nil参数,而在Leopard(10.5)上,它抛出一个异常,但不报告错误 当我将字符串“Calle Mare de Déu de”替换为“Calle Mare de Deu de”时,它可以正常工作。问题是由“é”字符引起的 NSString不支持此字符和其他
[NSPlaceholderString initwithstring:][/code>处生成异常。在SnowLeopard(10.6)上,它报告一个nil参数,而在Leopard(10.5)上,它抛出一个异常,但不报告错误
当我将字符串“Calle Mare de Déu de”替换为“Calle Mare de Deu de”时,它可以正常工作。问题是由“é”字符引起的
NSString不支持此字符和其他特殊字符吗
谢谢
迪皮卡
异常发生NSPlaceholderString initwithstring:]零参数对snow leapord和on leapord异常发生,但警报未出现
您会收到一个异常,告诉您传递了一个nil
参数,因为您传递了一个nil
参数
您在那里传递的字符串是nil
。这与字符串的编码无关,原因有二:
没有绳子。(如果传递了字符串,则不会传递nil
)
字符串没有编码;它们只是字符串。编码可以将人类语言字符(字符串)转换为字节序列(数据)
此外,如果您有一个字符串要传递给initWithString:
,则不需要使用initWithString:
创建字符串,因为您已经有了该字符串。如果您想复制它,只需发送一条copy
消息即可
我们不知道你已经有了什么,这是至关重要的。请编辑您的问题,以包含从数据库或XML解析器中获取“字符串”并将其传递到initWithString:
的代码
是否只是因为“é”,意味着我想知道NSString是否不支持“é”或任何其他字符
NSString支持Unicode中的所有字符。实际上,这意味着所有的问题。这个问题很难理解,你能试着进一步澄清吗?主要问题已经很清楚了(我认为提问者的英语水平已经达到极限),但我想知道一些细节,比如(1)“Calle Mare deéu de”来自数据库或XML解析器,(2)提问者使用的API是什么,(3)“将其转换为数组”是什么意思。