¿Cómo convierto ctrl+z
en una cadena?Cómo enviar ctrl + z
Lo estoy enviando como AT COMMAND a un dispositivo conectado a esta computadora.
Básicamente, acabo de poner un poco de caracteres en una cadena y ctrl+z
en esa cadena, así
¿Cómo convierto ctrl+z
en una cadena?Cómo enviar ctrl + z
Lo estoy enviando como AT COMMAND a un dispositivo conectado a esta computadora.
Básicamente, acabo de poner un poco de caracteres en una cadena y ctrl+z
en esa cadena, así
intente seguir funcione para usted
serialPort1.Write("Test message from coded program" + (char)26);
también tratar puede trabajar para usted
serialPort1.Write("Test message from coded program");
SendKeys.Send("^(z)");
también verifique: http://www.dreamincode.net/forums/topic/48708-sending-ctrl-z-through-serial/
byte[] buffer = new byte[1];
buffer[0] = 26; // ^Z
modemPort.Write(buffer, offset:0, count:1);
puede incrustar cualquier carácter Unicode con el \u
de escape:
"this ends with ctrl-z \u001A"
Al enviar caracteres a un dispositivo, se necesita traducción de la representación de cadena interna. Esto se conoce como Encoding
- un codificador traduce la cadena en una matriz de bytes.
Consultando el Unicode Character Name Index, encontramos el carácter SUBSTITUTE - 0x001A
en la sección C0 Controls and Basic Latin
(Puntuación ASCII). Para agregar un CTRL-Z
a una cadena interna de C#, agregue un código unicode character escape sequence (\u001a
).
String ctrlz = "\u001a";
String atcmd = "AT C5\u001a";
Cualquier codificación utilizada para la traducción antes de la salida al dispositivo (por ejemplo salida utilizando StringWriter
), se traducirá esta a ASCII Ctrl-Z.
Está claro por otras respuestas que Ctrl + Z tiene el código ASCII 26; en general, las combinaciones Ctrl + [letra] tienen código ASCII igual a 1+ [letra] - 'A', es decir, Ctrl + A tiene código ASCII 1 (\ x01 o \ u0001), Ctrl + B tiene código ASCII 2, etc.