/// <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. MySQL存储引擎 -- MyISAM 与 InnoDB 理论对比

    MySQL常用的两种存储引擎一个是MyISAM,另一个是InnoDB.两种存储引擎各有各的特点. 1. 区别:(1)事务处理:MyISAM是非事务安全型的.-----而非事务型的系统,一般也称为数据仓 ...

  2. jQuery-图片的放大镜显示效果(不需要大小图)

    问题:当页面高度很大时,放大图片的图层不会跟随着 1.demo.html ;display:none;}          #tip s   {position:absolute;top:40px;l ...

  3. php异步执行函数

    1.在unix系统中,使用popen和pclose可以创建管道(通信途径)来连接到其他程序.   2.能够执行服务器命令的php函数有: exec(commond,$output) 接收一个命令,把得 ...

  4. valgrind详解

    调不尽的内存泄漏,用不完的Valgrind Valgrind 安装 1.valgrind 安装包下载地址:http://valgrind.org/downloads/repository.html(使 ...

  5. CSS代码重构与优化之路(转)

    CSS代码重构与优化之路   阅读目录 CSS代码重构的目的 CSS代码重构的基本方法 CSS方法论 我自己总结的方法 写CSS的同学们往往会体会到,随着项目规模的增加,项目中的CSS代码也会越来越多 ...

  6. hibernate 对象OID

    它是hibernate用于区分两个对象是否是同一个对象的标识. 我们都知道,虚拟机内存区分两个对象看的是内存的地址是否一致.数据库区分两个对象,靠的是表的主键.hibernate负责把内存中的对象持久 ...

  7. C#多线程的简单例子

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  8. 选择设置好ext3日志模式

    Linux是一种开放的.因Internet而产生的操作系统.Internet的发展.以网络为中心的计算模式如电子商务被迅速接受和普及,都为 Linux提供了更巨大的机会,使之成为企业和部门级的首选平台 ...

  9. PreparedStatement预编译对象实现

    模糊查询   插入 同时插入两行数据   执行更新语句 删除操作          

  10. 答C++复杂多余者之惑

    C和C++有太多的历史包袱而其它语言并没有这些,从另一个角度下来讲C和C++其实就是现代语言的活字典,也是现代软件设计的基础,当然有更古老的语言,但像C和C++影响力这么大的却无其它语言可以出其左右. ...