我现在想用MSCOMM往这个串口打印机发命令打印,你们帮我看看下面的代码对不对啊,我不关接收,只管发送
string sConn;
sConn="1B 7A 01 " + rtContent.Text + " 0D 0A";
byte[] bData=Encoding.unicode.getbytes(sconn);
axComm1.output=bdata;这样对不对啊,我是新手,不知道怎么写,象1B 74 01      0D OA 这些是打印的十六进制命令,请各位大虾帮帮我啊

解决方案 »

  1.   

    引号中的内容是文本,我觉得这样发送到串口的就成了该文本对应的Ascii码了,并不是你想发送的十六进制。
    我想这样可以解决:
    byte[] data;
    data[0]=0x1B;
    data[1]=0x7A;
    ....你这样试试,办法很笨,等待高人指点,呵呵
      

  2.   

    to sConn="1B 7A 01 " + rtContent.Text + " 0D 0A";前一部分和最后一部分,不能通过Encoding去转,需要向楼上那样,转化成byte中间的部分,需要对Encoding进行设置,使用Unicode不一定正确,这需要看你的设备能接受什么样的编码。
      

  3.   

    也就是说,你需要形成三个byte[],然后合并成一个进行发送,数组的合并,参看Array.Copy方法。