oracle 字符串base64无效的十六,base64字符串引发无效字符错误

我一直得到一个base64无效字符错误,即使我不应该。

程序获取一个XML文件并将其导出到一个文档。如果用户需要,它也会压缩文件。压缩工作正常,返回base64字符串,该字符串编码为utf-8并写入文件。

当需要将文档重新加载到程序中时,我必须检查它是否被压缩,代码只是:

byte[] gzBuffer = System.Convert.FromBase64String(text);

return "1F-8B-08" == BitConverter.ToString(new List(gzBuffer).GetRange(4, 3).ToArray());

它检查字符串的开头,看是否包含gzip代码。

现在问题是,我所有的测试都有效。我拿了一根绳子,压缩它,解压它,然后和原来的比较。问题是,当我从ADO记录集获取返回的字符串时。字符串正是写入文件的内容(末尾添加了一个“\0”,但我认为即使这样做也不起作用,即使删掉它也会抛出)。我甚至复制并粘贴整个字符串到一个测试方法中,然后压缩/解压缩它。工作良好。

测试将通过,但代码将使用完全相同的字符串失败?唯一的区别是,它不只是声明一个常规字符串并将其传入,而是从记录集中返回一个。

对我做错了什么有什么看法吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值