我正在做一个ipad aplication aplication发送扫描的照片和签名图像工作正常,但下载它们我有一个问题,在服务器端他们将图像文件编码为基础64,但我没有得到如何解码客户端的图像文件。
谢谢,
Kumar Y R
答案 0 :(得分:0)
来自此帖子http://www.cocoabob.net/?p=7
我使用base64编码器和解码器 将图像的二进制数据放入xml中 数据,然后传输非文本数据 作为服务器和之间的文本数据 客户端。
这是我iPhone中的一个例子 项目
下载这两个文件并导入 他们在你的项目中并包括 头类文件中的头文件。
(感谢Jonathan Wight,他写道 它于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