高手,come in(编码/解码问题) 检查一下str是不是"",当""的时候,会出现"Base-64 字符数组的无效长度"的错误. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是,检查过STR是有长度的,但是会比较长大约400到1000之间,微软的家伙那?进来看看 知道为什么了,当FromBase64String(str)中的str是下面的条件,就不是一个有些的base64编码,所以就会出错.FormatException s 的长度小于 4。 -或-s 的长度不是 4 的偶数倍。base64是这样编码的.Base64是目前用的最多的一种编码,它将二进制数据编码为字母和数字,因为字母和数字的个数少于256,所以它是把3个字节的二进制数据转换为4个字节的字母和数字。 >>有些的base64编码改为"有效的base64编码" 补充,如果没有解决问题,把byte[] fuck =Convert.FromBase64String(str)中的str贴出来看看,把发送方的代码贴出了. str长度为:560 ;是4的140倍,内容为:AAEAAAD/////AQAAAAAAAAAMAgAAAEVDb21wYW55LCBWZXJzaW9uPTEuMC4xMTA0LjMwMjkxLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRrYWxzLkNvbXBhbnkuQ29tcGFueQ8AAAACaWQLY29tcGFueU5hbWUHYWRkcmVzcwRraW5kB2NhbGxpbmcHY29udGVudAh1c2VyRnJvbQJpcAhzZW5kRGF0ZQlyZXBseURhdGUFcG9pbnQIcmVwbHlOdW0GcGFyZW50CG5lZWRNYWlsBGhpZGUAAQEBAQEBAQAAAAAAAAAIDQ0ICAgBAQIAAAABAAAABgMAAAAM55uO5Y 45aSa5Y RBgQAAAAV5oyJ5pe25omT5Y R5aOr5aSn5aSrBgUAAAAJ5oyJ5pe255qEBgYAAAAJ5a6J5a6a5rOVBgcAAAAM5oyJ5pe255qE5rOVBggAAAAEa2FscwYJAAAADjE5Mi4xNjguMTIyLjEzAACzsC2DxAgAgIYFwITECAAAAAAAAAAAAAAAAAAACw==发送方代码:public string ToBase(kals.Company.Company company){ BinaryFormatter bf =new BinaryFormatter(); MemoryStream ms =new MemoryStream(); bf.Serialize(ms,company); ms.Seek(0,SeekOrigin.Begin); byte[] bb =new byte[ms.Length]; ms.Read(bb,0,bb.Length); ms.Close(); string Value =Convert.ToBase64String(bb); return Value;} base64中没有空格的O5Y 45aSa5Y sorry,那里的空格之类的非法东西是帖上来的时候不小心搞的AAEAAAD/////AQAAAAAAAAAMAgAAAEVDb21wYW55LCBWZXJzaW9uPTEuMC4xMTA0LjMwMjkxLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRrYWxzLkNvbXBhbnkuQ29tcGFueQ8AAAACaWQLY29tcGFueU5hbWUHYWRkcmVzcwRraW5kB2NhbGxpbmcHY29udGVudAh1c2VyRnJvbQJpcAhzZW5kRGF0ZQlyZXBseURhdGUFcG9pbnQIcmVwbHlOdW0GcGFyZW50CG5lZWRNYWlsBGhpZGUAAQEBAQEBAQAAAAAAAAAIDQ0ICAgBAQIAAAABAAAABgMAAAAM55uO5Y 45aSa5Y RBgQAAAAV5oyJ5pe25omT5Y R5aOr5aSn5aSrBgUAAAAJ5oyJ5pe255qEBgYAAAAJ5a6J5a6a5rOVBgcAAAAM5oyJ5pe255qE5rOVBggAAAAEa2FscwYJAAAADjE5Mi4xNjguMTIyLjEzAACzsC2DxAgAgIYFwITECAAAAAAAAAAAAAAAAAAACw== 没办法,还是有,可能是论坛处理贴子时候造成的,但是在我机器上用textBox来显示的时候没有 C#如何使图片进行随机循环 代码求解 多线程问题,关于弹出多个Messagebox c#.net配合UK 关于保存文本文档到本地 C#代码错误,求高手解决啊 treeview下依据checkbox的选中状况取值的问题, 急啊,请帮忙了!!!!! 2003转换成2005,控件显示的问题 WinForm和Asp.net调用C++写的COM组件 解析Excel中字符 我是搞自动化的,现单位有个项目用到C#我该如何学习?以前就编辑过触摸屏的宏指令 请问如何读取web.config中的自定义值呢? 要把byte[]转换成int型,怎么办啊?谢谢,一定给分
-或-s 的长度不是 4 的偶数倍。base64是这样编码的.
Base64是目前用的最多的一种编码,它将二进制数据编码为字母和数字,因为字母和数字的个数少于256,所以它是把3个字节的二进制数据转换为4个字节的字母和数字。
改为"有效的base64编码"
byte[] fuck =Convert.FromBase64String(str)
中的str贴出来看看,把发送方的代码贴出了.
AAEAAAD/////AQAAAAAAAAAMAgAAAEVDb21wYW55LCBWZXJzaW9uPTEuMC4xMTA0LjMwMjkxLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwFAQAAABRrYWxzLkNvbXBhbnkuQ29tcGFueQ8AAAACaWQLY29tcGFueU5hbWUHYWRkcmVzcwRraW5kB2NhbGxpbmcHY29udGVudAh1c2VyRnJvbQJpcAhzZW5kRGF0ZQlyZXBseURhdGUFcG9pbnQIcmVwbHlOdW0GcGFyZW50CG5lZWRNYWlsBGhpZGUAAQEBAQEBAQAAAAAAAAAIDQ0ICAgBAQIAAAABAAAABgMAAAAM55uO5Y 45aSa5Y RBgQAAAAV5oyJ5pe25omT5Y R5aOr5aSn5aSrBgUAAAAJ5oyJ5pe255qEBgYAAAAJ5a6J5a6a5rOVBgcAAAAM5oyJ5pe255qE5rOVBggAAAAEa2FscwYJAAAADjE5Mi4xNjguMTIyLjEzAACzsC2DxAgAgIYFwITECAAAAAAAAAAAAAAAAAAACw==
发送方代码:
public string ToBase(kals.Company.Company company)
{
BinaryFormatter bf =new BinaryFormatter();
MemoryStream ms =new MemoryStream();
bf.Serialize(ms,company);
ms.Seek(0,SeekOrigin.Begin);
byte[] bb =new byte[ms.Length];
ms.Read(bb,0,bb.Length);
ms.Close();
string Value =Convert.ToBase64String(bb); return Value;
}
O5Y 45aSa5Y