我正在为ESC POS打印创建一个类。C#ESC POS特殊字符
它需要支持特殊字符挪威语:ÆØÅæøå
的问题是,我不能只用他们的字符串。
“要打印的数据:打印数据”将打印为“要打印的数据:??????”
根据文档这些字符打印特殊字符我需要:
(炭)91个打印 “AE”
(炭)92个打印 “O”
(炭)93个打印“A”
(炭)123个打印 “AE”
(炭)124个打印 “O”
(char)125 prints“å”
所以我的问题是:有没有更好的办法比为每个字符做一个替换?
这里是连接到打印机并发送代码数据:
Socket clientSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
clientSock.NoDelay = true;
IPAddress ip = IPAddress.Parse("192.168.0.11");
IPEndPoint remoteEP = new IPEndPoint(ip, 9100);
clientSock.Connect(remoteEP);
byte[] byData = Encoding.ASCII.GetBytes(buffer);
clientSock.Send(byData);
clientSock.Close();
解决:
Encoding nordic = Encoding.GetEncoding("IBM865");
byte[] byData = nordic.GetBytes(buffer);
根据ESC POS文件这应该工作,但它说“865”不是一个有效的编码。 – OMGKurtNilsen 2011-04-29 11:49:31
它现在的作品使用:Encoding nordic = Encoding.GetEncoding(“IBM865”); TYVM – OMGKurtNilsen 2011-04-29 11:53:06
@OMGKurtNilsen:很高兴听到这个消息。对不起,我错过了[table](http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx#remarksToggle)中的Name列,我将更新该帖子。 – Groo 2011-04-29 11:58:19