我正在爲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