/// 从字符串转换到16进制表示的字符串
/// 编码,如"utf-8","gb2312"
/// 是否每字符用逗号分隔
public static string ToHex(string s, string charset, bool fenge)
{
if ((s.Length % 2) != 0)
{
s += " ";//空格
//throw new ArgumentException("s is not valid chinese string!");
}
System.Text.Encoding chs = System.Text.Encoding.GetEncoding(charset);
byte[] bytes = chs.GetBytes(s);
string str = "";
for (int i = 0; i < bytes.Length; i++)
{
str += string.Format("{0:X}", bytes[i]);
if (fenge && (i != bytes.Length - 1))
{
str += string.Format("{0}", ",");
}
}
return str.ToLower();
} /// 从16进制转换成utf编码的字符串
/// 编码,如"utf-8","gb2312"
public static string UnHex(string hex, string charset)
{
if (hex == null)
throw new ArgumentNullException("hex");
hex = hex.Replace(",", "");
hex = hex.Replace("\n", "");
hex = hex.Replace("\\", "");
hex = hex.Replace(" ", "");
if (hex.Length % 2 != 0)
{
hex += "20";//空格
throw new ArgumentException("hex is not a valid number!", "hex");
}
// 需要将 hex 转换成 byte 数组。
byte[] bytes = new byte[hex.Length / 2];
for (int i = 0; i < bytes.Length; i++)
{
try
{
// 每两个字符是一个 byte。
bytes[i] = byte.Parse(hex.Substring(i * 2, 2),
System.Globalization.NumberStyles.HexNumber);
}
catch
{
// Rethrow an exception with custom message.
throw new ArgumentException("hex is not a valid hex number!", "hex");
}
}
System.Text.Encoding chs = System.Text.Encoding.GetEncoding(charset);
return chs.GetString(bytes);
}

  

最新文章

  1. 收集C#常用类:对图片的处理操作
  2. 使用getopt函数对windows命令行程序进行参数解析
  3. java枚举类
  4. cocos2dx中创建标签CCLabel的三种方法及特点
  5. IIS 7管理API——Microsoft.Web.Administration介绍
  6. 检索n以内所有素数
  7. 读书笔记:php_tizag_tutorial
  8. js监听滚动条 回到顶端
  9. JAVA在IO流量汇总
  10. linux 守护进程创建流程
  11. c语言入门
  12. PAM - 可插拔认证模块
  13. 不校验csrf
  14. 关于Oracle游标out参数多层调用的BUG,ORA-06504
  15. Nginx server之Nginx添加ssl支持
  16. vue 实例生命周期
  17. kafka for Windows
  18. Remote Desktop Connection Manager远程管理工具
  19. 我的HibernateSearch笔记
  20. centos 系统使用verdaccio搭建npm私库

热门文章

  1. Session 的原理及最佳实践
  2. easyUi五个常用插件
  3. mysql gtid 主从复制
  4. Java基础学习笔记二十六 JDBC
  5. C语言博客作业—数据类型
  6. 数字是否可以被3和5同时整除,use if and % (21.9.2017)
  7. Python 实现双端队列 Deque
  8. HTML5文件操作API
  9. python 面向对象设计思想发展史
  10. JAVAEE——BOS物流项目09:业务受理需求分析、创建表、实现自动分单、数据表格编辑功能使用方法和工作单快速录入