2010-06-15 77 views

回答

3
byte[] buffer = new byte[1]; 
buffer[0] = 26; // ^Z 
modemPort.Write(buffer, offset:0, count:1); 
6

您可以嵌入任何Unicode字符與\u逃逸:

"this ends with ctrl-z \u001A" 
1

當發送字符到一個裝置中,需要從內部字符串表示翻譯。這被稱爲Encoding - 編碼器將字符串轉換爲字節數組。

諮詢Unicode Character Name Index,我們在C0 Controls and Basic Latin(ASCII標點符號)部分找到SUBSTITUTE - 0x001A字符。 要將CTRL-Z添加到內部C#字符串中,請添加unicode character escape sequence\u001a)代碼 。

String ctrlz = "\u001a"; 
String atcmd = "AT C5\u001a"; 

用於轉換輸出之前到該設備的任何 編碼(用於使用StringWriter例如輸出),將轉化此爲ASCII按Ctrl-Z。

2

從其他響應中可以看出,Ctrl + Z的ASCII碼爲26; 'A'即Ctrl + A具有ASCII代碼1(\ x01或\ u0001),Ctrl + B具有ASCII代碼2等等。一般來說,Ctrl + [字母]組合的ASCII碼等於1+ [字母] -