EncodingHelper
/// <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的更多相关文章
- sublime text 插件(前端自用)
一.软件安装 ST中文论坛:http://sublimetext.iaixue.com/ 或者 http://sublimetext.iaixue.com/dl/#sublime_text_3103 ...
- Sublime Text3快捷键以及常用插件
工若善其事,必先利其器.做为一个web前端开发人员,必须有一个得心应手的编码工具,本人推荐Sublime Text3和WebStorm,但WebStorm太过智能和耗性能了对初学者来说弊大于利,所以我 ...
- JS&CSS文件请求合并及压缩处理研究(五)
接上篇.在我们最终调用 @Html.RenderResFile(ResourceType.Script) 或者 @Html.RenderResFile(ResourceType.StyleSheet) ...
- Sublime Text 最佳插件列表(转)
Package Control 安装方法 首先通过快捷键 ctrl+` 或者 View > Show Console 打开控制台,然后粘贴相应的 Python 安装代码. Sublime Tex ...
- C# 根据IP地址获取城市
using System; using System.IO; using System.Net; using System.Text; using System.Web.Script.Serializ ...
- 推荐!Sublime Text 最佳插件列表
本文由 伯乐在线 - 艾凌风 翻译,黄利民 校稿.英文出处:ipestov.com.欢迎加入翻译组. 本文收录了作者辛苦收集的Sublime Text最佳插件,很全. 最佳的Sublime Text ...
- Sublime Text各种插件使用方法
有快捷键冲突的时候可以修改快捷键,建议修改插件快捷键而不是Sublime Text的快捷键,我的有冲突的一律将插件快捷键设置成:Ctrl+Alt+A(B...) Package Control 通俗易 ...
- 检测字节流是否是UTF8编码
几天前偶尔看到有人发帖子问“如何自动识别判断url中的中文参数是GB2312还是Utf-8编码” 也拜读了wcwtitxu使用巨牛的正则表达式检测UTF8编码的算法. 使用无数或条件的正则表达式用起来 ...
- c# 搭建服务端 常用的Helper(5)
常用的Helper 1.byteHelper :对象与byte[]之间的转换 2.ConvertJson:操作json对象 3.EncodingHelper:对象编码 4.ModelConvertHe ...
随机推荐
- .Net语言 APP开发平台——Smobiler学习日志:如何实现离线声音文件上传
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...
- C#向sql server数据表添加数据源代码
HoverTree解决方案 学习C#.NET,Sql Server,WinForm等的解决方案. 本文链接http://hovertree.com/h/bjaf/0jteg8cv.htm 使用的技术. ...
- LINQ to SQL语句(14)之Null语义和DateTime
Null语义 说明:下面第一个例子说明查询ReportsToEmployee为null的雇员.第二个例子使用Nullable<T>.HasValue查询雇员,其结果与第一个例子相同.在第三 ...
- spring笔记5 spring IOC的基础知识1
1,ioc的概念 Inverse of control ,控制反转,实际的意义是调用类对接口实现类的依赖,反转给第三方的容器管理,从而实现松散耦合: ioc的实现方式有三种,属性注入,构造函数注入,接 ...
- Android Studio项目提交到GitHub
1. 现在并安装Git for Windows: 2. 点击File->Settings->Version Control->Git,配置git.exe的路径,并点击Test按钮测试 ...
- GJM : Unity3D HIAR -【 快速入门 】 六、导出 iOS 工程
导出 iOS 工程 在开始之前,请务必先保存您的工程.由于 Unity 无法直接生成 ipa 文件,您需要先导出 iOS 工程文件,然后通过 Xcode 编译生成. Step 1. 选择平台 在 Un ...
- iOS多线程之9.自定义NSOperation
本文主要讲如何自定义NSOperation,以及自定义NSOperation的一些注意事项,以下载图片为例. 新建一个类,继承于NSOperation. CustomOperation.h 代码 ...
- 慎用mutableCopy
因为逻辑需要,我在present到一个页面时,将一个存放uiimage的数组mutablecopy了过去(因为再返回的时候防止对数组做了改动),时间长了也忘了这事儿,后来发现添加多张图片上传时,app ...
- iOS编码规范
The official raywenderlich.com Objective-C style guide. This style guide outlines the coding con ...
- ListView之点击展开菜单
一.概述 ListView点击item显示菜单是要实现这样的效果: 需要实现的逻辑如下: 1)点击一个普通item,展开当前菜单,同时关闭其他菜单 2)点击一个已展开的菜单,隐藏当前菜单 3)将展开菜 ...