/// <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. Python单例模式剖析

    在聊这之前我们首先要明确的是,单例模式在实际中的意义以及在python中具有实现的价值? 当前,相信有很多人支持单例模式,也有不少人反对,尤其是在python中,目前依旧具有很大的争议性.我们要在评论 ...

  2. fragment界面交互实操(步骤)

    首先,新建一个继承了fragment类的类,在oncreateview方法中,使用方法的参数inflater,用其inflater.inflate(R.layout.fragment1,contain ...

  3. PLSQL语法

    Procedural Language和SQL的结合体.通过增加变量.控制语句,使我们可以写些逻辑更加复杂的数据库操作 语句框架组成 declare – 可选 声明各种变量或游标的地方. begin ...

  4. Python 黑客 --- 001 UNIX口令破解机

    Python 黑客 实战:UNIX口令破解机 使用的系统:Ubuntu 14.04 LTS Python语言版本:Python 2.7.10 V crypt 库是Python内置的库.在UNIX系统使 ...

  5. SPOJ KATHTHI - KATHTHI

    以前并不知道这个trick. $01BFS$,在$bfs$的时候用一个双端队列来维护,如果边权为$1$就添加到队尾,边权为$0$就添加到队首. 还有一个小trick就是我们可以开一个$dis$数组来代 ...

  6. Django框架 之 URLconf

    Django框架 之 URLconf 浏览目录 URL 摘要 Django如何处理一个请求 反向解析URL name模式 namespace模式 一.URL 1.摘要 我们要在Django项目中为应用 ...

  7. Postman工具---请求与响应

    参考:http://blog.csdn.net/water_0815/article/details/53311561

  8. rpm bug

    rpm无法安装 今天安装java时候,下载的rpm的包,但是用linux打开时候发现不能正常打开. 错误详情 主要是rpm安装时候的错误,java提示的错误就没有记录了. Reading packag ...

  9. 《Linux内核设计与实现》读书笔记(七)- 中断处理

    中断处理一般不是纯软件来实现的,需要硬件的支持.通过对中断的学习有助于更深入的了解系统的一些底层原理,特别是驱动程序的开发. 主要内容: 什么是中断 中断类型 中断相关函数 中断处理机制 中断控制方法 ...

  10. C# Socket 接受数据不全的处理

    由于Socket 一次传输数据有限,因此需要多次接受数据传输. 解决办法一:     int numberOfBytesRead = 0;     int totalNumberOfBytes = 0 ...