2013-05-03 40 views
0

我的代码是这样的:NSAttributedString到NSString的UTF-8

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:[textView textStorage]]; 
NSString *text = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; 
[xml appendFormat:@">%@", text]; 

如果我有NSASCIIStringEncoding字符串就可以了。当我将NSASCIIStringEncoding更改为NSUTF8StringEncoding时,它返回null.But我需要UTF-8,因为我追加字符串的XML文件位于UTF-8中。任何方式如何做到这一点? Thx回复。

+0

而且很明显,我有NSTextView,它是textStorage的来源 – 2013-05-03 07:08:11

+0

也许'UITextView'?你在同一时间标记了你的问题'iOS'和'NSTextView' ... – 2013-05-03 07:10:30

+0

我的不好...但后来我在UITextView的iOS上加载xml文件:) – 2013-05-03 07:12:50

回答

1

如果textView是一个UITextView,而XML是一个的NSMutableString,你应该能够替换该代码:

[xml appendString: textView.text]; 

,或者如果你需要一个>前缀:

[xml appendFormat:@">%@", textView.text]; 

的NSString会跟踪编码。您只需在后面处理xml(存储或通过某个Web服务发送)时担心编码问题。然后,您可以简单地使用xml.UTF8String获取UTF8格式的常规C字符串。