读书人

求16进制模式字符串无变化转换成byte数

发布时间: 2012-09-14 11:53:44 作者: rapoo

求16进制形式字符串无变化转换成byte数组
项目需要往串口打印机发送16进制形式的byte

汉子转成16进制形式后,其类型也是String类型的

怎么能把16进制无转换存进byte数组中去呢
求高手

[解决办法]
转换的时候,指定编码类型
[解决办法]

C# code
            string str = "哈哈";            byte[] buff = System.Text.Encoding.UTF8.GetBytes(str);
[解决办法]
你想要这样?
String str = "0x1B, 0x40, 0x1B, 0x57, 0x00, 0x00, 0x00, 0x00";
String[] str1 = str.Replace(" ","").Split(',');
byte[] b = new byte[str1.Length];
for (int i = 0; i < str1.Length; i++)
{
b[i] = Convert.ToByte(Convert.ToInt32(str1[i], 16));
}
[解决办法]
楼主没事找事,转来转去很浪费时间的
探讨

引用:

可以的
System.Text.Encoding.GetEncoding("GBK")

这样不行的,也是经过转换的
比如我转换得到16进制String str = “0x1B, 0x40, 0x1B, 0x57, 0x00, 0x00, 0x00, 0x00”
变成byte类型的时候是这样的 byte[] b={0x1B, 0x40, 0x1B, 0x……

[解决办法]
探讨
你想要这样?
String str = "0x1B, 0x40, 0x1B, 0x57, 0x00, 0x00, 0x00, 0x00";
String[] str1 = str.Replace(" ","").Split(',');
byte[] b = new byte[str1.Length];
for (int i = 0; i < str1.Length; i++)
{
……

读书人网 >C#

热点推荐