/// <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. ROS Learning-025 (提高篇-003 A Mobile Base-01) 控制移动平台

    ROS 提高篇 A Mobile Base-01 - 控制移动平台 - 基本知识 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 ...

  2. 关于PDF的一些书籍

    PDF Explained: The ISO Standard for Document Exchange https://ssearch.oreilly.com/?q=PDF+

  3. 算法Sedgewick第四版-第1章基础-2.1Elementary Sortss-006归并排序(Mergesort)

    一. 1.特点 (1)merge-sort : to sort an array, divide it into two halves, sort the two halves (recursivel ...

  4. SSH框架(三) struts2的登陆示例

    因为最近在学习使用SSH框架(struts2+spring+hibernate),下面来介绍表现层struts2的使用方法. (一)添加struts2的包 见上一篇博客,先看一下添加的各个文件的目录结 ...

  5. Socket编程--TCP粘包问题

    TCP是个流协议,它存在粘包问题 产生粘包的原因是: TCP所传输的报文段有MSS的限制,如果套接字缓冲区的大小大于MSS,也会导致消息的分割发送. 由于链路层最大发送单元MTU,在IP层会进行数据的 ...

  6. jQuery 基础 : 获取对象 根据属性、内容匹配, 还有表单元素匹配

    指定元素中包含 id 属性的, 如: $("span[id]")   <span id="span1" name="S1">AA ...

  7. 在OnRowDataBound或OnItemDataBound事件中获取字段值

    不管是在GridView,DataList还是Repeater控件中,其中Repeater控件,没有DataKeyNames或是DataKeyField属性,想获取记录的主键值,只好用Label或是H ...

  8. JS控制A标记的href跳转

    var a = document.getElementById("aHref"); a.href = '/user'; //取消<a>标签原先的onclick事件,使& ...

  9. nginx: [emerg] directive "location" has no opening "{" in /usr/local/nginx//conf/nginx.conf:75

    1.报错:[emerg]directive "location" has no opening "{" in ..... 解决方法: 由于对应行或者附近行的“{ ...

  10. CSS效果:图片切换

    HTML: <html lang="en"> <head> <meta charset="UTF-8"> <meta ...