c# 字符串(含有汉字)转化为16进制编码(转)

摘要:
参考字符串转化为ascII16进制问题http://topic.csdn.net/t/20040905/22/3342635.html加码解码http://xiaodi.cnblogs.com/archive/2005/04/26/145493.aspxpublicstringEncodingSMS{stringresult=string.Empty;byte[]arrByte=System.Text.Encoding.GetEncoding.GetBytes;for{result+=System.Convert.ToString;//Convert.ToString把byte转化成十六进制string}returnresult;}publicstringDecodingSMS{stringresult=string.Empty;byte[]arrByte=newbyte[s.Length/2];intindex=0;for{arrByte[index++]=Convert.ToByte;//Convert.ToByte把十六进制string转化成byte}result=System.Text.Encoding.Default.GetString;returnresult;}加码解码的规则如下:加码时将字符串中的所有字符转换成其对应的ASCII值的16进制值,例如:“A”的ASCII码值为65,以16进制值表示为41,故应发送两个字符“41”以代表字符“A”。对于汉字则以其内码的16进制值来表示,如“测试”应为:B2E2CAD4。
public static string Str2Hex(string s) 
        { 
            string result = string.Empty; 
 
            byte[] arrByte = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);     
            for(int i = 0; i < arrByte.Length; i++) 
            { 
                result += "&#x" + System.Convert.ToString(arrByte[i], 16) + ";";        //Convert.ToString(byte, 16)把byte转化成十六进制string 
            } 
 
            return result; 
        } 
变成可以在网上传输的那种16进制编码,类似%8D%E2这种?这样的话,
用System.Web.HTTPUtility.URLEncode()就行。 
  
  光光10进制转换到16进制的话,可以用   bytes(i).ToString("X"),   
这是将一个字节转换为一个16进制字符串,"X"表示大写16进制字符,用"x"可以得到小写的。   
参考
字符串(含有汉字)转化为ascII16进制问题
http://topic.csdn.net/t/20040905/22/3342635.html
加码解码 
http://xiaodi.cnblogs.com/archive/2005/04/26/145493.aspx 
 
        public string EncodingSMS(string s) 
        { 
            string result = string.Empty; 
 
            byte[] arrByte = System.Text.Encoding.GetEncoding("GB2312").GetBytes(s);     
            for(int i = 0; i < arrByte.Length; i++) 
            { 
                result += System.Convert.ToString(arrByte[i], 16);        //Convert.ToString(byte, 16)把byte转化成十六进制string 
            } 
 
            return result; 
        } 
 
        public string DecodingSMS(string s) 
        { 
            string result = string.Empty; 
 
            byte[] arrByte = new byte[s.Length / 2]; 
            int index = 0; 
            for(int i = 0; i < s.Length; i += 2) 
            { 
                arrByte[index++] = Convert.ToByte(s.Substring(i,2),16);        //Convert.ToByte(string,16)把十六进制string转化成byte 
            } 
            result = System.Text.Encoding.Default.GetString(arrByte); 
 
            return result; 
 
        }
加码解码的规则如下: 
加码时将字符串中的所有字符转换成其对应的ASCII值的16进制值,例如:“A”的ASCII码值为65,以16进制值表示为41,故应发送两个字符“41”以代表字符“A”。 
对于汉字则以其内码的16进制值来表示,如“测试”应为:B2E2CAD4。 
原理: 
 
            string aaa = "AB测试"; 
            byte[] bbb = System.Text.Encoding.Default.GetBytes(aaa); 
            string ccc  = System.Text.Encoding.Default.GetString(bbb); 
 
            for(int i = 0; i < bbb.Length; i++) 
            { 
                Response.Write(System.Convert.ToString(bbb[i], 16)); 
            }                  
            Response.Write(ccc);

免责声明:文章转载自《c# 字符串(含有汉字)转化为16进制编码(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇消元法求解线性方程组MeshLab中插件的添加过程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C# 通过模拟http请求来调用soap、wsdl

C#调用webservice的方法很多,我说的这种通过http请求模拟来调用的方式是为了解决C#调用java的远程API出现各种不兼容问题。 由于远程API不在我们的控制下,我们只能修改本地的调用代码来适应远程API。 在以上情况下,我们就通过模拟http请求来去调用webservice。 首先,我们要分析调用端口时,我们发送出去的数据。 先抓个包看看,这...

httpclient x-www-form-urlencoded

1. 使用Apache httpclient提交post请求 http工具方法(需指定编码, 否则出错,这里用的UTF-8) public static String postWithParamsForString(String url, List<NameValuePair> params){ HttpClient clie...

Quartz+Spring 实现定时任务的 管理和监控

 0,监控的意义 (1)能够查看有多少定时任务,用的什么执行策略,便于管理 (2)能够通过界面操作停止或启动某个定时任务,便于管理 (3)能够通过界面操作改变某个定时任务的执行策略,便于管理 1,pom.xml 文件添加jar 1 <!-- quartz监控 --> 2 <dependency> 3 <gro...

FLINK基础(104): DS算子与窗口(15)多流转换算子(6) CONNECT, COMAP和COFLATMAP(2)CoProcessFunction

CoProcessFunction   对于两条输入流,DataStream API提供了CoProcessFunction这样的low-level操作。CoProcessFunction提供了操作每一个输入流的方法: processElement1()和processElement2()。   类似于ProcessFunction,这两种方法都通过Con...

golang json解析

前言 Go 语言自带的 encode/json 包提供了对 JSON 数据格式的编码和解码能力。 解析 JSON 的关键,其实在于如何声明存放解析后数据的变量的类型。 此外使用 json 编码还会有几个需要注意的地方,谨防踩坑。 解析简单JSON 先观察下这段 JSON 数据的组成,name,created 是字符串。id 是整型,fruit 是一个字符串...

Java对文件的16进制读取和操作

大家可以参考一下源代码的相关部分注释,然后写出自己的16进制处理程序。有几个重点地方:16进制字符串-》10进制数 int input = Integer.parseInt("Str", 16)10进制整数-》16进制字符串 String hex = Integer.toHexString(int)文件读取方法 作为2进制文件直接读取,一个byte为单位的...