添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

char有8位,所以两位十六进制的数字可以表示一个char。
把十六进制字符串去空格,转换成char[] 。连续两个char[] 合并成一个string。通过Parse()方法把string转换成十进制Byte[]。Byte[] 最后转换成想要的字符串。

String.Split() 方法通过基于一个或多个分隔符拆分输入字符串来创建子字符串数组。
此方法通常是分隔字边界上的字符串的最简单方法。 
它也用于拆分其他特定字符或字符串上的字符串。
ToCharArray() 方法用来将字符串转换成字符数组。
Parse() 方法的用法详见👇

如何在十六进制字符串与数值类型之间转换(C# 编程指南)

namespace DataTypeApplication
    class Program
        static void Main(string[] args)
            string str = "61 62 63 64";
            string str1 = hexStrToStr(str);
            Console.WriteLine(str1);
        private static string hexStrToStr(string str)
        	//去除字符串中的空格
            string[] strT = str.Split(' ');
            string strA = "";
            foreach(string strB in strT)
                strA += strB;
            char[] chars = strA.ToCharArray();
            string returnstr = "";
            string[] str1 = new string[chars.Length / 2];
            for (int i = 0; i < chars.Length / 2; i++)
                string str111 = chars[2 * i].ToString() + chars[2 * i + 1].ToString();
                uint num = uint.Parse(str111, System.Globalization.NumberStyles.AllowHexSpecifier);
                char charr = (char)num;
                returnstr = returnstr + charr;
            return returnstr;

这种方法适用于TCP/UDP通信时,接收十六进制信息后的内容显示。

// 16进制字符串 hexToString: function(value) { let arr = this.groupArray(value), //将16进制字符串进行每两个分组 result = ""; for (var i = 0; i < arr.length; i++) { result += S... public static String hexStr2Str(String hex) { String hexStr = ""; String str = "0123456789ABCDEF"; //16进制能用到的所有字符 0-15 for(int i=0;i<hex.length();i++){ String s = hex.substring(i, i+1); public static String decodeHex(String hexStr) { // 定义字符数组,用于保存字符串字符,长度为16进制字符串的一半 byte[] strs = new byte[hexStr.length() / 2]; // 遍历赋值 for (int i = 0; i
笔者前几日在开服过程中需要将字符串化成为16进制字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串16进制后再回来,英文正常,中文出现乱码。笔者前几日在开服过程中需要将字符串化成为16进制字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串16进制后再回来,英文正常,中文出现乱码。1)在将字符串16进制之前先进行一次化,先将其化成为Unicode编码(相当于把中文用英文字符代替),在化成为16进制。*字符串16进制。*16进制字符串
string hexString = "1A"; // 十六进制字符串表示的十进制整数26 int result = Convert.ToInt32(hexString, 16); 解释一下代码: 首先定义一个十六进制字符串表示的十进制整数,例如26的十六进制表示为1A。 然后使用Convert.ToInt32方法将十六进制字符串换为十进制整数。第一个参数是要换的字符串,第二个参数指定字符串的进制,这里为16表示十六进制。 执行完上述代码,result变量的值应该为26。