首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSImage、NSData和NSXMLDocument之间的文本编码问题

NSImage、NSData和NSXMLDocument之间的文本编码问题
EN

Stack Overflow用户
提问于 2010-04-04 07:13:53
回答 1查看 960关注 0票数 0

我正在尝试获取一个NSImage,并将其转换为可以写入XML文档的字符串。

我当前的尝试如下所示:

代码语言:javascript
复制
[xmlDocument setCharacterEncoding: @"US-ASCII"];

NSData* data = [image TIFFRepresentation];
NSString* string = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];

//Put string inside of NSXMLElement, write out NSXMLDocument.

回读看起来就像这样:

代码语言:javascript
复制
NSXMLDocument* newXMLDocument = [[NSXMLDocument alloc] initWithData:data options:0 error:outError];
//Here's where it fails. I get:
//Error Domain=NSXMLParserErrorDomain Code=9 UserInfo=0x100195310 "Line 7: Char 0x0 out of allowed range"

我想我遗漏了一些基本的东西。这个编码问题是怎么回事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-04 07:19:56

首先,在XML中嵌入大量二进制数据不是一个好主意,IMHO。

要回答您的问题,您需要一种支持二进制数据的编码方案,例如Base64

有关将任意NSData表示为base64编码字符串的多种方法,请参阅此页面:http://www.cocoadev.com/index.pl?BaseSixtyFour

Colloquy更新:该页面上指向Colloquy NSData additions的链接似乎断开了。这是新的网址:http://colloquy.info/project/browser/trunk/Additions/NSDataAdditions.m

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2572999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档