首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >64 Encoding /UTF编码

64 Encoding /UTF编码
EN

Stack Overflow用户
提问于 2014-02-27 17:56:55
回答 1查看 564关注 0票数 1

我的问题是基于从API调用中得到的一系列数据。我将原始数据传递到FromBase64String中,然后将字节数组编码回字符串。我期待一个有效的pdfsharp返回,我要保存到一个文件。下面解码的字符串值中没有一个包含正确的数据。我知道原始的base64编码的api返回字符串是有效的,因为我可以在notepadd++中打开它,并使用base64解码器来创建格式正确的pdf文档。

代码语言:javascript
复制
byte[] todecode_byte = Convert.FromBase64String(data);
string decodedUTF7 = Encoding.UTF7.GetString(todecode_byte);
string decodedUTF8 = Encoding.UTF8.GetString(todecode_byte);

与我认为应该是什么( notepadd++转换版本)最接近的表示形式是UTF7。但是,在文档中嵌入的图像中似乎有一些丢失的数据。与工作文档相比,UTF8有一些结构差异。

例如..。我的控制..。%PDF-1.7 % objá1 0 obj <<

UTF7...%PDF-1.7 % objá1 0 obj <<

UTF8...%PDF-1.7 %

但是,再一次,UTF7版本似乎围绕着嵌入在文档中的图像有一些问题。无论哪种方式,这两个版本都会创建一个88kpdf文档,作为一个空白页打开。该控件(使用notepadd++)保存为pdf文档时,大小约为该大小的一半,并将打开,显示所有正确的信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-27 18:02:05

我期待一个有效的pdfsharp返回,我要保存到一个文件。

如果它是一个PDF文件,我根本不会尝试把它转换成字符串。这不是文字,而是二进制数据。它应该很简单,如:

代码语言:javascript
复制
byte[] binaryData = Convert.FromBase64String(data);
File.WriteAllBytes("file.pdf", binaryData);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22076541

复制
相关文章

相似问题

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