上饶市建设局培训网站,安卓手机app开发软件下载,wordpress 手机 注册,几分钟网站做渔网咨询区 Kevin Driedger#xff1a;如何将指定的 string 编码成 base64。如何将 base64 解码成 string。回答区 andrew.fox#xff1a;我来分享下对这个问题的处理吧#xff1a;对 Encoding 类进行扩展#xff0c;当然扩展方法还支持各种编码格式#xff0c;不仅仅是 UTF8。… 咨询区 Kevin Driedger如何将指定的 string 编码成 base64。如何将 base64 解码成 string。回答区 andrew.fox我来分享下对这个问题的处理吧对 Encoding 类进行扩展当然扩展方法还支持各种编码格式不仅仅是 UTF8。还一个好处是对 null 的支持毕竟在真实项目中你总会遇到的。代码如下
namespace MyApplication.Helpers.Encoding
{public static class EncodingForBase64{public static string EncodeBase64(this System.Text.Encoding encoding, string text){if (text null){return null;}byte[] textAsBytes encoding.GetBytes(text);return System.Convert.ToBase64String(textAsBytes);}public static string DecodeBase64(this System.Text.Encoding encoding, string encodedText){if (encodedText null){return null;}byte[] textAsBytes System.Convert.FromBase64String(encodedText);return encoding.GetString(textAsBytes);}}
}然后像下面这样用。
using MyApplication.Helpers.Encoding; // !!!namespace ConsoleApplication1
{class Program{static void Main(string[] args){Test1();Test2();}static void Test1(){string textEncoded System.Text.Encoding.UTF8.EncodeBase64(test1...);System.Diagnostics.Debug.Assert(textEncoded dGVzdDEuLi4);string textDecoded System.Text.Encoding.UTF8.DecodeBase64(textEncoded);System.Diagnostics.Debug.Assert(textDecoded test1...);}static void Test2(){string textEncoded System.Text.Encoding.UTF8.EncodeBase64(null);System.Diagnostics.Debug.Assert(textEncoded null);string textDecoded System.Text.Encoding.UTF8.DecodeBase64(textEncoded);System.Diagnostics.Debug.Assert(textDecoded null);}}
}Zeigeist其实这就一行代码的事。。。Encode:
string encodedStr Convert.ToBase64String(Encoding.UTF8.GetBytes(inputStr));Decode:
string inputStr Encoding.UTF8.GetString(Convert.FromBase64String(encodedStr));点评区 看了下 Convert.FromBase64String 的源码,在入参为null的情况下会抛出异常。
public static string ToBase64String(byte[] inArray)
{if (inArray null){throw new ArgumentNullException(inArray);}return ToBase64String(inArray, 0, inArray.Length, Base64FormattingOptions.None);
}我觉得项目中这种反馈肯定是不能接受的所以哈用一个扩展方法挺好学习了