2010-06-15 55 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+ [字母] -