0
我在做一个ipad应用程序应用程序发送扫描的照片和签名图像工作正常,但下载它们时,我有一个问题,在严重的一面,他们编码的图像文件基地64,但我没有得到如何解码客户端的图像文件。如何在ipad aplications中解码base 64编码的图像文件?
感谢,
库马尔YR
我在做一个ipad应用程序应用程序发送扫描的照片和签名图像工作正常,但下载它们时,我有一个问题,在严重的一面,他们编码的图像文件基地64,但我没有得到如何解码客户端的图像文件。如何在ipad aplications中解码base 64编码的图像文件?
感谢,
库马尔YR
从这发布http://www.cocoabob.net/?p=7
我使用的base64编码器和解码器,图像 把二进制数据转换成XML 数据,然后调用非文本数据 作为服务器和 客户端之间的文本数据。
下面是我的iPhone 项目中的一个示例。
下载这两个文件,然后导入 他们在您的项目,包括在类文件的 头文件。
(感谢乔纳森怀特,谁在2003年3月18日写了 吧)
里有BASE64 头文件的四种方法。
extern size_t EstimateBas64EncodedDataSize(size_t inDataSize);
extern size_t EstimateBas64DecodedDataSize(size_t inDataSize);
extern bool Base64EncodeData(const void *inInputData, size_t inInputDataSize, char *outOutputData, size_t *ioOutputDataSize, BOOL wrapped);
extern bool Base64DecodeData(const void *inInputData, size_t inInputDataSize, void *ioOutputData, size_t *ioOutputDataSize)
这里是一个字符串数据进行解码的使用。
NSString *stringValue = /*the UTF8 string parsed from xml data*/
Byte inputData[[stringValue lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];//prepare a Byte[]
[[stringValue dataUsingEncoding:NSUTF8StringEncoding] getBytes:inputData];//get the pointer of the data
size_t inputDataSize = (size_t)[stringValue length];
size_t outputDataSize = EstimateBas64DecodedDataSize(inputDataSize);//calculate the decoded data size
Byte outputData[outputDataSize];//prepare a Byte[] for the decoded data
Base64DecodeData(inputData, inputDataSize, outputData, &outputDataSize);//decode the data
NSData *theData = [[NSData alloc] initWithBytes:outputData length:outputDataSize];//create a NSData object from the decoded data
感谢阿龙它帮了我很多 – kumar 2010-11-02 07:47:53
@kumar你能标记答案正确的,如果它是有用的,这样对方就会知道 – 2010-11-02 11:48:17
其在模拟器的工作,但它不是在设备工作我得到一个坏的exec访问 – kumar 2010-11-16 16:04:04