0

我的代码是这样的:

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

如果我有 NSASCIIStringEncoding 字符串就可以了。当我将 NSASCIIStringEncoding 更改为 NSUTF8StringEncoding 时,它返回 null。但我需要 UTF-8,因为我要附加字符串的 XML 文件是 UTF-8。有什么办法吗?谢谢回复。

4

1 回答 1

1

如果textView是 UITextView,而 xml 是 NSMutableString,您应该能够将该代码替换为:

[xml appendString: textView.text];

或者如果您需要该>前缀:

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

NSString 将跟踪编码。您只需要稍后在使用xml(存储它或通过某些 Web 服务发送)时担心编码。然后您可以简单地使用xml.UTF8StringUTF8 格式获取常规 C 字符串。

于 2013-05-03T23:26:40.167 回答