/// <summary>
/// 字典串帮忙类
/// </summary>
public static class StringHelper
{
/// <summary>
/// 以默认编码返回字符串所对应的字节数组
/// </summary>
/// <param name="data">字符串</param>
/// <returns>字节数组</returns>
public static byte[] GetBytes(this string data)
{
return Encoding.Default.GetBytes(data);
} /// <summary>
/// 以自定义编码返回字符串所对应的字节数组
/// </summary>
/// <param name="data">字符串</param>
/// <param name="encoding">编码</param>
/// <returns>字节数组</returns>
public static byte[] GetBytes(this string data, Encoding encoding)
{
return encoding.GetBytes(data);
} /// <summary>
/// 将字符串以Base64方式编码
/// </summary>
/// <param name="value">字符串</param>
/// <returns>Base64编码后的字符串</returns>
public static string EncodeBase64(this string value)
{
return value.EncodeBase64(Encoding.UTF8);
} /// <summary>
/// 将字符串以Base64方式编码
/// </summary>
/// <param name="value">字符串</param>
/// <param name="encoding">编码方式</param>
/// <returns>将Base64方式编码后的字符串</returns>
public static string EncodeBase64(this string value, Encoding encoding)
{
encoding = (encoding ?? Encoding.UTF8);
var bytes = encoding.GetBytes(value); return Convert.ToBase64String(bytes);
} /// <summary>
/// 将Base64方式编码后的字符串解码
/// </summary>
/// <param name="encodedValue">Base64方式编码后的字符串</param>
/// <returns>解码后的字符串</returns>
public static string DecodeBase64(this string encodedValue)
{
return encodedValue.DecodeBase64(Encoding.UTF8);
} /// <summary>
/// 将Base64方式编码后的字符串解码
/// </summary>
/// <param name="encodedValue">Base64方式编码后的字符串</param>
/// <param name="encoding">编码方式</param>
/// <returns>解码后的字符串</returns>
public static string DecodeBase64(this string encodedValue, Encoding encoding)
{
encoding = (encoding ?? Encoding.UTF8);
var bytes = Convert.FromBase64String(encodedValue); return encoding.GetString(bytes);
}
}

C#工具类之字符串扩展类的更多相关文章

  1. [Django REST framework - 视图组件之视图基类、视图扩展类、视图子类、视图集]

    [Django REST framework - 视图组件之视图基类.视图扩展类.视图子类.视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView.GenericAP ...

  2. Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类

    Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯.2.面向对象的出现,将复杂的事情简单化.3.面向对象的出现,将之前过程中 ...

  3. C#工具类之素数扩展类

    /// <summary> /// 素数帮忙类 /// 本类是从.net源码 类 internal static class HashHelpers 类里抽取相应的代码 /// https ...

  4. C#工具类之字典扩展类

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  5. C#工具类之日期扩展类

    /// <summary> /// DateTimeHelper /// </summary> public static class DateTimeHelper { /// ...

  6. c#工具类之Int扩展类

    public static class IntHelper { /// <summary> /// 转换为2进制字符串 /// </summary> /// <param ...

  7. C#工具类之XmlNode扩展类

    using System; using System.Linq; using System.Xml; /// <summary> /// XmlNodeHelper /// </su ...

  8. 常用类一一字符串相关类一一String类 字符串的使用

    Java字符串就是Unicode字符序列,例如“Java”就是4个Unicode字符J,a,v,a组成的. Java没有内置的字符串类型,而是在标准Java类库中提供了一个预定义的类String,每个 ...

  9. 常用类一一字符串相关类一一StringBuilder,StringBuffer。

    package cn.bjsxt.stringbuilder; /** * String 不可变字符序列 * StringBuilder StringBuffer都是是可变字符序列 * 区别在于Str ...

随机推荐

  1. HTTP、TCP、UDP、Socket关系详解

    TCP.UDP和HTTP关系是什么? 1.TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.在传输层中有TCP ...

  2. Boost log中的几个问题

    1. 使用动态库时,要定义 BOOST_LOG_DYN_LINK  或者 BOOST_ALL_DYN_LINK 否则会出现如下错误: CMakeFiles/xxxx.dir/xxxx.cpp.o: I ...

  3. CF 959E Mahmoud and Ehab and the xor-MST

    第一反应是打表找规律……(写了个prim)但是太菜了没找到 于是开始怀疑是不是我的表错了,又写了一个克鲁斯卡尔,然后结果是一样的……(捂脸) 后来从克鲁斯卡尔的算法上发现了一点东西,发现只有2的幂次长 ...

  4. leetcode Jump Game I II 待续 贪心看不懂啊!!!!

    下面是这两个题的解法: 参考博客:http://blog.csdn.net/loverooney/article/details/38455475 自己写的第一题(TLE): #include< ...

  5. Dreamweaver Flash Photoshop网页设计综合应用 (智云科技) [iso] 1.86G​

    全书共15章,主要包括网页制作基础.Dreamweaver CC网页制作.Photoshop CC网页图像设计.Flash CC网页动画设计以及综合案例实战5个部分.通过本书的学习,不仅能让读者学会三 ...

  6. 2 plan team 服务器搭建

    最近想搞个2-plan team看看,是不是适合小型团队任务管理 下了个包,解压了,发现里面的readme太简单了 readme中的install相关的内容如下 ### Installation in ...

  7. android studio中使用x5 webview来读写cookies的问题

    本人新手,刚接触AS也没有多久,记录下两个问题. 1. 怎么在android studio中写入cookies 把写入cookies的动作放在了主界面的onCreate事件中了,看了腾讯的说明,说是要 ...

  8. chrome浏览器跨域模式设置

    做前后分离的webapp开发的时候,出于一些原因往往需要将浏览器设置成支持跨域的模式,好在chrome浏览器就是支持可跨域的设置,网上也有很多chrome跨域设置教程.但是新版本的chrome浏览器提 ...

  9. git 使用那些事儿

    本文来自网易云社区 作者:孙有军 工欲善其事,必先利其器,git是一个开源的分布式版本控制工具,很多文章都写的太长,或者资料太多,难以一时间看完.在此总结了git的一些使用方式,因此该文不是鸿篇巨著, ...

  10. 最全PyCharm教程--for python

    PyCharm简介: PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手.   同时支持Google App E ...