二进制转BASE64问题,急

wanglei051 2007-01-29 04:27:21
我需要将二进制文件数据转成BASE64,然后存入xml的CDATA中发送到server,但网上找了好几个例子都不能很完全得转码,而直接把二进制数据放入CDATA里,会无法解析,提示有无效字符,谁知道如何解决,还望赐教。
我在libxml2中找到2个函数,xmlTextWriterWriteBase64和xmlTextWriterWriteBinHex,但好像作用不大,也许是我调用得方法不对吧
...全文
276 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanglei051 2007-01-30
  • 打赏
  • 举报
回复
有谁遇到过这样的问题吗?
我的测试程序很简单,应该不可能是测试程序的错误,但转码一段后就不行了
fpi = fopen("hello","r+b");
while (1)
{
rsize = fread(buffer,1,1024,fpi);
strcat(In,buffer);
totalsize += rsize;
if (rsize == 0)
{
fclose(fpi);
break;
}
}

printf("[out]%s\n",Base64code(In,totalsize));
结果到后面就变成A了
f0VMRgEBAVKhLJUECIP4/7sslQQIdAyD6wT/0IsDg/j/dfRYW8nDVYnlU+g3b25fc3RhcnRvbl9zdGFydAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
wanglei051 2007-01-30
  • 打赏
  • 举报
回复
问题解决了,还是cu上的人热心点。来csdn很久,只问了3个问题,只有1个问题得到解决,平时只回答别人的问题,现在看来转了这么多分也没什么用。
wanglei051 2007-01-29
  • 打赏
  • 举报
回复
其实我倒觉得自己写一个编码解码倒方便,只是不知道如何转二进制为文本,只要规则定好了,处理都很容易。我用c#测试都可以,但服务器是Unix,所以只有找c或者c++的了。转文本都没问题,但一变成二进制文件就不行了
yecheng_110 2007-01-29
  • 打赏
  • 举报
回复
是吗
那你要多想想了
这个转换不难 而且都很成熟的方法了
既然这么多例子都不行
也许你的问题出在别的地方 而不是这些函数
wanglei051 2007-01-29
  • 打赏
  • 举报
回复
这个例子还是不行,我写了一个简单的hello world,然后将可执行程序fopen打开,转到中间就开始出现错误,全是AAAAAA,转回去后已经面目全非了,更别说运行了
yecheng_110 2007-01-29
  • 打赏
  • 举报
回复
http://www.cublog.cn/u/26691/showart.php?id=207873

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧