如何将16进制字符串转换成byte型
strings="0x41";byteb;如将“0x41”转换成byte型的0x41.楼上两位的方法不行,我要的是byteb=0x41,0x开关的就是16进制,一楼的方法...
string s = "0x41";
byte b;
如将“0x41”转换成byte型的0x41.
楼上 两位的方法不行,
我要的是byte b=0x41,0x开关的就是16进制 ,一楼的方法把它变成65了,我要的是0x41! 展开
byte b;
如将“0x41”转换成byte型的0x41.
楼上 两位的方法不行,
我要的是byte b=0x41,0x开关的就是16进制 ,一楼的方法把它变成65了,我要的是0x41! 展开
4个回答
展开全部
你的意思是对S中的每一个英文字符使用一个byte来保存这个英文字符的ASCII码吗?那就这样来实现:
byte[] b = Encoding.ASCII.GetBytes(s);
还是将字符串转成整形,再放到一个byte里面
那就这样:
byte b = Convert.ToByte(s, 16);
"问题补充:我要的是byte b=0x41,0x开关的就是16进制 ,一楼的方法把它变成65了,我要的是0x41!"
你这个是什么意思啊,byte是一个字节,0x41的值本来就是65啊,保存在内存中也是以65的的二进制01000001来保存,你需要0x41是什么意思
byte[] b = Encoding.ASCII.GetBytes(s);
还是将字符串转成整形,再放到一个byte里面
那就这样:
byte b = Convert.ToByte(s, 16);
"问题补充:我要的是byte b=0x41,0x开关的就是16进制 ,一楼的方法把它变成65了,我要的是0x41!"
你这个是什么意思啊,byte是一个字节,0x41的值本来就是65啊,保存在内存中也是以65的的二进制01000001来保存,你需要0x41是什么意思
展开全部
最近刚好遇到这个问题,目前还有点小毛病,等搞好再修改吧。先写下来
首先我把0x都删了,留下的就是0934560abce0000这些文本,但是呢它实际上是16进制数据报文。
然后按行读取得到字符串。
字符串再用for循环,i步进2,次数等于长度除以2
每次循环操作两位数,即目的是09变为char,保存为0x09
方法是遇到0-9的数就直接等于,遇到abcdef就减去字符a再加10,然后第一位乘以16加第二位。
如果第一位是0,则直接取第二位等等,目前还有变错的,正在找
首先我把0x都删了,留下的就是0934560abce0000这些文本,但是呢它实际上是16进制数据报文。
然后按行读取得到字符串。
字符串再用for循环,i步进2,次数等于长度除以2
每次循环操作两位数,即目的是09变为char,保存为0x09
方法是遇到0-9的数就直接等于,遇到abcdef就减去字符a再加10,然后第一位乘以16加第二位。
如果第一位是0,则直接取第二位等等,目前还有变错的,正在找
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
byte b=(byte)Uri.FromHex((char)0x32);
MessageBox.Show(b.ToString());
MessageBox.Show(b.ToString());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b = byte.Parse(s.Substring(2), System.Globalization.NumberStyles.HexNumber);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询