二进制流不包含有效的BinaryHeader?

问题描述

为什么把base64编码的字符串解析后,出现二进制流182不包含有效的BinaryHeader?source="tKu13bj41eLQqcrVvP7Iy7vyzajRttfpwdCx7bXE08q8/rG70dOz2ToNCg0KaG0wNjI4MjAwM0B5";//base64编码byte[]bt=System.Text.Encoding.Default.GetBytes(source);bt=Convert.FromBase64String(source);MemoryStreamms=newMemoryStream(System.Text.Encoding.Default.GetBytes(source));ms=newMemoryStream(Convert.FromBase64String(source));ms.Seek(0,SeekOrigin.Begin);returnm_Formater.Deserialize(ms);

解决方案

解决方案二:
同有出错啊,在哪条语句上啊。
解决方案三:
帮顶没碰到过
解决方案四:
returnm_Formater.Deserialize(ms);出现二进制流182不包含有效的BinaryHeader,
解决方案五:
SubSectionobj=newSubSection();//序列化MemoryStreamms=newMemoryStream();IFormatterformatter=newBinaryFormatter();formatter.Serialize(ms,obj);byte[]bs=newbyte[ms.Length];ms.Read(bs,0,(int)ms.Length);//byte[]bs=ms.GetBuffer();ms.Seek(0,SeekOrigin.Begin);//反序列化IFormatterformatter2=newBinaryFormatter();MemoryStreamms2=newMemoryStream();ms2.Write(bs,0,bs.Length);ms2.Seek(0,SeekOrigin.Begin);SubSectionobj2=(SubSection)formatter2.Deserialize(ms2);this.Response.Write(obj2.SubName);注意byte[]bs=newbyte[ms.Length];ms.Read(bs,0,(int)ms.Length);,使用标红那两句读取数据,在反序列化的时候就会出错但是使用标绿的那一句读取数据,在反序列化时就正常
解决方案六:
飘过
解决方案七:
"tKu13bj41eLQqcrVvP7Iy7vyzajRttfpwdCx7bXE08q8/rG70dOz2ToNCg0KaG0wNjI4MjAwM0B5"这个base64是怎么来的?
解决方案八:
如果你要转换为"传递给这些收件人或通讯组列表的邮件被延迟:hm06282003@y"stringsource="tKu13bj41eLQqcrVvP7Iy7vyzajRttfpwdCx7bXE08q8/rG70dOz2ToNCg0KaG0wNjI4MjAwM0B5";//base64编码byte[]bt=Convert.FromBase64String(source);string_Text=System.Text.Encoding.GetEncoding("GB2312").GetString(bt);
解决方案九:
http://hi.baidu.com/igoogledyou/blog/item/59ebf3de25a8995794ee3781.html
解决方案十:
引用7楼zgke的回复:

如果你要转换为"传递给这些收件人或通讯组列表的邮件被延迟:hm06282003@y"stringsource="tKu13bj41eLQqcrVvP7Iy7vyzajRttfpwdCx7bXE08q8/rG70dOz2ToNCg0KaG0wNjI4MjAwM0B5";//base64编码           byte[]bt=Convert.FromBase64String(source);      string_Text=System.Text.Encoding.GetEncoding("GB2312").GetString(bt);

用这种方法试过了有时候会出现乱码
解决方案十一:
学习
解决方案十二:
引用4楼的回复:

SubSectionobj=newSubSection();//序列化MemoryStreamms=newMemoryStream();IFormatterformatter=newBinaryFormatter();formatter.Serialize(ms,obj);byte[]bs=newbyte[ms.Length];ms.Rea……

为什么两种方法中一种会出错,另一种不会?

时间: 2024-09-28 02:12:35

二进制流不包含有效的BinaryHeader?的相关文章

二进制流“0”不包含有效的 BinaryHeader。这可能是由于无效流,或由于在序列化和反序列化之间的对象版本更改

问题描述 二进制流"0"不包含有效的BinaryHeader.这可能是由于无效流,或由于在序列化和反序列化之间的对象版本更改怎么解决啊 解决方案 解决方案二:可能解析这个流的软件需要一个BinaryHeader,也就是流中前几个对于内容来说无用的,只是用来说明流类型的byte[]解决方案三:不是很明白.能说的清除些吗?解决方案四:code?解决方案五:取单步跟踪你的代码,答案就在其中解决方案六:兄弟这个问题解决了吗,能给点提示不,我现在也遇到这个问题

php park、unpark、ord 函数使用方法(二进制流接口应用实例)

park,unpark,ord这3个函数,在我们工作中,用到它们的估计不多. 我在最近一个工作中,因为通讯需要用到二进制流,然后接口用php接收.当时在处理时候,查阅不少资料.因为它们使用确实比较少,也很少朋友工作中会用到它们. 在工作中,我也逐渐了解到park,unpark,ord对于二进制字节处理的强大. 下面我逐一介绍它们. park,unpark,ord函数使用介绍 park函数说明:本函数用来将资料压缩打包到位的字符串之中. 语法:pack(format,args+) 参数 描述 fo

图片以二进制流输出到网页

二进制|网页 using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using

PHP中如何接收二进制流并生成文件

PHP接收二进制流并生成文件的代码 <?php /** 二进制流生成文件 * $_POST 无法解释二进制流,需要用到 $GLOBALS['HTTP_RAW_POST_DATA'] 或 php://input * $GLOBALS['HTTP_RAW_POST_DATA'] 和 php://input 都不能用于 enctype=multipart/form-data * @param String $file 要生成的文件路径 * @return boolean */ function bin

cxf +restful项目,实现一个以图片二进制流做参数的接口,接口和客户端怎么写?

问题描述 cxf +restful项目,实现一个以图片二进制流做参数的接口,接口和客户端怎么写? 以图片路径为参数的接口: @GET @Path("/vcardBean/{path}") @Produces({"application/json","application/xml"}) public VCardBean getVCardBean(@PathParam("path") String path) { //path

Ajax请求二进制流进行处理(ajax异步下载文件)的简单方法

摘要: ajax请求一个二进制流(文件),转换为Blob进行处理或者下载保存文件 需求 管理后台需要随时下载数据报表,数据要实时生成后转换为excel下载. 文件不大,页面放置"导出"按钮,点击按钮后弹出保存文件对话框保存 说明:第一种方法使用a标签直接可以满足大部分人需求,第二种方法纯粹是在说实现方法以及更好的操作体验,不需要(举一个需要第二种方法的例子:如果生成很慢就需要生成过程中禁用按钮,防止连续生成)用到的可以不用看 解决方案 方法一 请求文件的接口能改为GET则可以使用这种方

link中如何将迭代的结果转换成流模式?比如二进制流或者其它流?

问题描述 link中如何将迭代的结果转换成流模式?比如二进制流或者其它流? link中如何将迭代的结果转换成流模式?比如二进制流或者其它流? 解决方案 https://msdn.microsoft.com/zh-cn/library/system.io.stream.aspx在实现 Stream某个派生类,必须为 Read 和 Write 方法提供实现. 异步方法 ReadAsync.WriteAsync和 CopyToAsync 使用这些实现的同步方法 Read 和 Write. 因此,您的

代码-ashx如何实现从sql中读取二进制流进行文件下载,同时能选择保存下载文件的路径?

问题描述 ashx如何实现从sql中读取二进制流进行文件下载,同时能选择保存下载文件的路径? 5C 问题如题,之前将文件以二进制流存入SQL中,现在需要实现下载代码,要求可选择文件下载路径. 解决方案 保存路径是客户端的,只能由客户自行选择保存位置,服务器端无法指定,就算能指定,你知道客户端一定就存在这个路径?就算你指定系统盘,你就一定知道客户端系统盘就是c盘?我多系统当前系统盘是f盘什么的呢.. 解决方案二: 文件下载 FileInputStream不能读取中文路径的问题Android下载文件

对象-javascript或者jquery怎么获取[object Blob]二进制流的值

问题描述 javascript或者jquery怎么获取[object Blob]二进制流的值 先贴代码吧. javascript代码://文件对象,根据浏览器类型获取var fileObj = $(""#"" + fileInputId).get(0).files[0];//文件开始位置var base64FileObj = $.base64.btoa(fileObj.slice(fileStartfileEnd)); 我要用jquery.ajax断点上传视频文件,