今天小刘就为大家分享一篇关于C#使用base64对字符串进行编码和解码的测试,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小刘来看看吧!
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。
Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。
Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符(+, /, =),不同的应用场景又分别研制了Base64的各种“变种”。为统一和规范化Base64的输出,Base62x被视为无符号化的改进版本。Base64
需要引入命名空间:
using System; using System.Text;
解码:
public static string UnBase64String(string value) { if (value == null || value == "") { return ""; } byte[] bytes = Convert.FromBase64String(value); return Encoding.UTF8.GetString(bytes); }
编码:
public static string ToBase64String(string value) { if (value == null || value == "") { return ""; } byte[] bytes = Encoding.UTF8.GetBytes(value); return Convert.ToBase64String(bytes); }
测试:
public static void Base64Test(){ string base64string = GameCommon.ToBase64String("aaaa11233Base64编码和解码"); string unbase64string = GameCommon.UnBase64String(base64string); Debug.Log("base64string : " + base64string); Debug.Log("unbase64string : " + unbase64string); }
结果:
总结
///编码 public static string EncodeBase64(string code_type, string code) { string encode = ""; byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code); try { encode = Convert.ToBase64String(bytes); } catch { encode = code; } return encode; } ///解码 public static string DecodeBase64(string code_type, string code) { string decode = ""; byte[] bytes = Convert.FromBase64String(code); try { decode = Encoding.GetEncoding(code_type).GetString(bytes); } catch { decode = code; } return decode; }
调用方法:
var val1 = EncodeBase64("utf-8", "<tr><td> Hello! </td></tr>"); var val2 = DecodeBase64("utf-8", "PHRyPjx0ZD7kvaDlpb3llYo8L3RkPjwvdHI+");
💕Final~
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值