C#中字符串的编解码问题

来源:百度知道 编辑:UC知道 时间:2024/06/26 02:23:47
C#中怎样将经过Convert.ToBase64String(Encoding.UTF8.GetBytes(theString))处理过的字符串还原出来?

在使用Convert.ToBase64String()对字符串进行Base64编码时,注意的几点:
例:string s = "Hello";
byte[] bytes = Convert.FromBase64String(s);
以上代码在运行时会抛出FormatException异常.提示为:Base-64字符数组的无效长度

原因:当Convert.FromBase64String方法的参数s的长度小于 4 或不是 4 的偶数倍时,将会抛出FormatException。

例:
Convert.FromBase64String("Hell"); // Normal.
Convert.FromBase64String("Hell "); // Normal.(忽略空格)
Convert.FromBase64String("Hello!"); // throw FormatException.
Convert.FromBase64String("Hello Net"); // Normal.(忽略空格)

看看这个.
string aa = "我们很好";
string bb = Convert.ToBase64String(Encoding.UTF8.GetBytes(aa));
Response.Write(bb);
byte[] cc=Convert.FromBase64String(bb);
string dd=Encoding.UTF8.GetString(cc);
Response.Write(dd);

UP