首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

?条码打印DATAMAX打印机打印汉字

2012-03-03 
?求助条码打印DATAMAX打印机打印汉字!先说下,我新手,现在只有20分,请大家帮帮忙,别嫌分少,最近在弄DATAMAX

?求助条码打印DATAMAX打印机打印汉字!
先说下,我新手,现在只有20分,请大家帮帮忙,别嫌分少, 
最近在弄DATAMAX4308打印机打印汉字,装了汉卡。 
看手册说需要GB码汉字,给的示例编码写得是 <BA> <D0> <00> <00> <CR> 对应的汉字是盒。我查了下这个是GBK编码, 

The notation “ <xx>” in this DPL file should be interpreted by the reader as representing the 
hexadecimal value of the byte sent to the printer.  
这句是手册上介绍 <>内容的,我理解就是需要转码,不知道是否错了。 

//创建两个不同的encoding对象 
  Encoding unicode = Encoding.Unicode; 
  //创建GBK码对象 
  Encoding gbk = Encoding.GetEncoding(936); 
  //将unicode字符串转换为字节 
  byte[] unicodeBytes = unicode.GetBytes("盒"); 
  //再转化为GBK码 
  byte[] gbkBytes = Encoding.Convert(unicode, gbk, unicodeBytes); 
  char[] cc = new char[2]; 
  cc[0] = (char)gbkBytes[0]; 
  cc[1] = (char)gbkBytes[1]; 
  //char)gbkBytes; 
  string aa = cc.ToString(); 
这时我得到的CC[]是正确的内容(186.208) 
不过我在aa字符串里得到的内容就不对了。我这里是想得到相应汉字的GBK码,但不知道如何发给打印机。 
之前测试打印字符和条码,都是直接用串口助手就可以发送过去,现在汉字的这个字符串内容明显不对, 不解,请赐教! 

还有公司的老大讲我的理解有问题。让我找默认的汉字编码方式和GBK之前的换算,这个也不明白。 
我知道C#中所有字符串都是UNICODE方式,但是如果是向其他设备发送内容如何发?例如通过串口发给打印机,传送这些应该都是8位8位的传,那么我在向串口写数据的时候需要把我的内容转成8位的ASC,但是发送汉字如何处理呢? 




[解决办法]
如果已经有了汉卡,没必要这么麻烦。yUGB就可以了

热点排行