/// <summary>
        /// Url解码
        /// </summary>
        /// <param name="str">原始字符串</param>
        /// <param name="isuft8">是否utf8</param>
        /// <returns></returns>
        public static string Url2Str_(string Url, bool IsUTF8 = false)
        {
            string result = string.Empty;
            int len = Url.Length;
            ;
            int H, L;
            string Hex = "0123456789ABCDEF";
            List<byte> li = new List<byte>();
            while (i < len)
            {
                ) != "%")
                {
                    li.Add(Convert.ToByte(Url.Substring(i, )));
                }
                else
                {
                    i++;
                    H = Hex.IndexOf(Url.Substring(i, ).ToUpper());
                    i++;
                    L = Hex.IndexOf(Url.Substring(i, ).ToUpper());
                    li.Add(( + L));
                }
                i++;
            }

            if (IsUTF8 == true)
            {
                result = Encoding.UTF8.GetString(li.ToArray());
            }
            else
            {
                result = Encoding.Default.GetString(li.ToArray());
            }
            return result;

        }
        /// <summary>
        /// Url编码
        /// </summary>
        /// <param name="str">原始字符串</param>
        /// <param name="isuft8">是否utf8</param>
        /// <returns></returns>
        public static string Str2Url_(string strCode, bool NoEncodNum = false, bool isuft8 = false)
        {
            StringBuilder sb = new StringBuilder();
            byte[] byStr;
            if (isuft8 == false)
            {
                byStr = System.Text.Encoding.Default.GetBytes(strCode);
            }
            else
            {
                byStr = System.Text.Encoding.UTF8.GetBytes(strCode);
            }
            System.Text.RegularExpressions.Regex regKey = new System.Text.RegularExpressions.Regex("^[A-Za-z0-9]+$");
            ; i < byStr.Length; i++)
            {
                string strBy = Convert.ToChar(byStr[i]).ToString();
                if (NoEncodNum == true)
                {
                    if (regKey.IsMatch(strBy))
                    {
                        //是字母或者数字则不进行转换
                        sb.Append(strBy);
                    }
                    else
                    {
                        sb.Append());
                    }
                }
                else
                {
                    sb.Append());
                }

            }
            return (sb.ToString());
        }
        /// <summary>
        /// Url编码,encoding默认为utf8编码
        /// </summary>
        /// <param name="str">需要编码的字符串</param>
        /// <param name="encoding">指定编码类型</param>
        /// <returns>编码后的字符串</returns>
        public static string Str2Url(string str, Encoding encoding = null)
        {
            if (encoding == null)
            {
                return System.Web.HttpUtility.UrlEncode(str, Encoding.UTF8);
            }
            else
            {
                return System.Web.HttpUtility.UrlEncode(str, encoding);
            }
        }
        /// <summary>
        /// Url解码,encoding默认为utf8编码
        /// </summary>
        /// <param name="str">需要解码的字符串</param>
        /// <param name="encoding">指定解码类型</param>
        /// <returns>解码后的字符串</returns>
        public static string Url2Str(string str, Encoding encoding = null)
        {
            if (encoding == null)
            {
                return System.Web.HttpUtility.UrlDecode(str, Encoding.UTF8);
            }
            else
            {
                return System.Web.HttpUtility.UrlDecode(str, encoding);
            }
        }
        /// <summary>
        ///_usc2到ansi
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public static string Unicode2StringEX(string str)
        {
            return HttpUtility.UrlDecode(Regex.Unescape(str));
        }
        /// <summary>
        /// 到ansi到usc2
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string Str2Unicode(string str)
        {
            return HttpUtility.UrlEncodeUnicode(str);
        }
        /// <summary>
        /// UTF8到GB2312
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string UTF82Str(string str)
        {
            string result = str;
            byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(str);
            result = System.Text.Encoding.Default.GetString(byteArray, , byteArray.Length);
            return result;
        }
        /// <summary>
        /// GB2312到UTF8
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string Str2UTF8(string str)
        {
            string result = str;
            byte[] byteArray = System.Text.Encoding.Default.GetBytes(str);
            result = System.Text.Encoding.UTF8.GetString(byteArray, , byteArray.Length);
            return result;
        }
        /// <summary>
        /// 将字符串转换为base64格式 默认UTF8编码
        /// </summary>
        /// <param name="str">原始字符串</param>
        /// <param name="encoding">编码</param>
        /// <returns></returns>
        public static string String2Base64(string str, Encoding encoding = null)
        {
            if (encoding == null)
            {
                encoding = Encoding.UTF8;
            }
            return Convert.ToBase64String(encoding.GetBytes(str));
        }
        /// <summary>
        /// base64字符串转换为普通格式 默认UTF8编码
        /// </summary>
        /// <param name="str">原始字符串</param>
        /// <param name="encoding">编码</param>
        /// <returns></returns>
        public static string Base642String(string str, Encoding encoding = null)
        {
            if (encoding == null)
            {
                encoding = Encoding.UTF8;
            }
            byte[] buffer = Convert.FromBase64String(str);
            return encoding.GetString(buffer);
        }

EncodingHelper的更多相关文章

  1. sublime text 插件(前端自用)

    一.软件安装 ST中文论坛:http://sublimetext.iaixue.com/  或者 http://sublimetext.iaixue.com/dl/#sublime_text_3103 ...

  2. Sublime Text3快捷键以及常用插件

    工若善其事,必先利其器.做为一个web前端开发人员,必须有一个得心应手的编码工具,本人推荐Sublime Text3和WebStorm,但WebStorm太过智能和耗性能了对初学者来说弊大于利,所以我 ...

  3. JS&CSS文件请求合并及压缩处理研究(五)

    接上篇.在我们最终调用 @Html.RenderResFile(ResourceType.Script) 或者 @Html.RenderResFile(ResourceType.StyleSheet) ...

  4. Sublime Text 最佳插件列表(转)

    Package Control 安装方法 首先通过快捷键 ctrl+` 或者 View > Show Console 打开控制台,然后粘贴相应的 Python 安装代码. Sublime Tex ...

  5. C# 根据IP地址获取城市

    using System; using System.IO; using System.Net; using System.Text; using System.Web.Script.Serializ ...

  6. 推荐!Sublime Text 最佳插件列表

    本文由 伯乐在线 - 艾凌风 翻译,黄利民 校稿.英文出处:ipestov.com.欢迎加入翻译组. 本文收录了作者辛苦收集的Sublime Text最佳插件,很全. 最佳的Sublime Text ...

  7. Sublime Text各种插件使用方法

    有快捷键冲突的时候可以修改快捷键,建议修改插件快捷键而不是Sublime Text的快捷键,我的有冲突的一律将插件快捷键设置成:Ctrl+Alt+A(B...) Package Control 通俗易 ...

  8. 检测字节流是否是UTF8编码

    几天前偶尔看到有人发帖子问“如何自动识别判断url中的中文参数是GB2312还是Utf-8编码” 也拜读了wcwtitxu使用巨牛的正则表达式检测UTF8编码的算法. 使用无数或条件的正则表达式用起来 ...

  9. c# 搭建服务端 常用的Helper(5)

    常用的Helper 1.byteHelper :对象与byte[]之间的转换 2.ConvertJson:操作json对象 3.EncodingHelper:对象编码 4.ModelConvertHe ...

随机推荐

  1. [unity]UGUI界面滑动,ScrollRect嵌套滑动

    原因:老板蛋痛,让我去抄皇室战争. 思路:我大概知道ngui(后来改成UGUI的)里面有个ScrollView.于是我就想一个横着的SV加上5个竖的SV不就好了吗. 过程: 于是 但是有个问题就是UI ...

  2. Get radio selected value

    先看下面 foreach得到的radio list: 现在想实现把选择的选项值Post至服务端:

  3. Java中文字符处理的四大迷题

    虽然计算机对英文字符的支持非常不错,我们也恨不得写的程序只会处理英文的数据,但是昨为中国人,无可避免地要处理一些中文字符.当很简单的一件事情,遇到了中文,一切就不同了!本文就会讲述实际生产环境中遇到的 ...

  4. C++ STL简述

    前言 最近要找工作,免不得要有一番笔试,今年好像突然就都流行在线笔试了,真是搞的我一塌糊涂.有的公司呢,不支持Python,Java我也不会,C有些数据结构又有些复杂,所以是时候把STL再看一遍了-不 ...

  5. IIS初始化(预加载),解决第一次访问慢,程序池被回收问题

    你以为你可以慢,那是不可能的!你以为你可以不动,那也是不可能的! 河南是守株待兔故事情节的发源地,讲的是懒惰的农夫坐在树桩旁等待可爱的小毛兔撞树的故事,那么这种事情怎么可能天天出现呢!你以为的事并一定 ...

  6. iOS 对模型对象进行归档

    归档是指一种形式的序列化,专门编写用于保存数据的任何对象都应该支持归档.使用对模型对象进行归档的技术可以轻松将复杂的对象写入文件,然后再从中读取它们. 只要在类中实现的每个属性都是标量或者都是遵循NS ...

  7. ViewPager与Tab结合使用

    我们有时候需要 标题页卡与ViewPager结合使用,其实原理也很简单. 不过工程中要引入android-support-design.jar 首先是布局文件 <android.support. ...

  8. js动态添加事件-事件委托

    作者:白狼 出处:http://www.manks.top/javascript-dynamic-event.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...

  9. [Erlang 0119] Erlang OTP 源码阅读指引

      上周Erlang讨论群里面提到lists的++实现,争论大多基于猜测,其实打开代码看一下就都明了.贴出代码截图后有同学问这代码是哪里找的?   "代码去哪里找?",关于Erla ...

  10. Java 异常处理

    异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用System.out ...