C#学习教程:在C#中将单个十六进制字符转换为其字节值Convert.ToInt32(serializedString.Substring(0,1),16);.NET是否具有将单个十六进制字符转换为不涉及创建新字符串的字节(或int,无关紧要)值的内置方法?intvalue="0123456789ABCDEF".IndexOf(char.ToUpper(sourceString[index]));更快(减法与数组搜索),但不检查输入错误:intHexToInt(charhexChar){hexChar=char.ToUpper(hexChar);//可能不是必需的return(int)hexChar如果我错了请纠正我,你可以简单地使用Convert.ToByte(stringValue,16);只要stringValue代表十六进制数?这不是基本参数的重点吗?字符串是不可变的,我认为没有办法在不创建新字符串的情况下获取索引0处char的子字符串字节值当然,您可以在不创建另一个字符串的情况下获取十六进制值。我不确定它会给你带来什么,表现明智,但既然你问了,那就是你所要求的。publicintFromHex(refstringhexcode,intindex){charc=hexcode[index];switch(c){case'1':return1;案例'2':返回2;案例'3':返回3;案例“4”:返回4;case'5':返回5;案例'6':返回6;案例'7':返回7;case'8':返回8;案例'9':返回9;':案例'a':返回0xa;案例'B':案例'b':返回0xb;案例'C':案例'c':返回0xc;案例'D':案例'd':返回0xd;'E':case'e':返回0xe;案例'F':案例'f':返回0xf;案例'0':默认:返回0;如果你知道十六进制值只是一个字节,那么只需要转换为Int32然后转换varb=(byte)(Convert.ToInt32(serializedString,16));Encoding.UTF8.GetBytes(serializedString.ToCharArray(),0,1)一个更便宜的可能是:Encoding.UTF8。GetBytes(newchar[]{serializedString[0]},0,1)这只会将有趣的字符添加到char[]而不是整个字符串。以上就是C#学习教程:在C#中将单个十六进制字符转换为其字节值。如果对大家有用,需要了解更多C#学习教程,希望大家多多关注---本文来自网络收藏,不代表立场,如涉及侵权,请点击右转联系管理员删除。如需转载请注明出处:
