Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 21268|Respuesta: 0

[Fuente] C# 2, 10, 16 y 16 y sus códigos ASCII

[Copiar enlace]
Publicado en 9/8/2016 10:22:40 | | |

C# 2, 10, 16 y 16 y sus códigos ASCII
            --------//Conversión de varios tipos de caracteres en C# para la comunicación por puerto serial------------


             Comprensión de la longitud de los caracteres
            cadenas s = "Soy un soldado 2";
            int len = s. Longitud; 6 personajes  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Longitud; 11 bytes  
           
            No tiene sentido convertir decimal a cadena, y debe convertirse al código ASCII correspondiente
            int t1 = 81;
            Cadena S1 = T1. ToString();
            Esta conversión decimal corresponde a caracteres ASCII para tener sentido.
            s1 = ((char)t1). ToString();

            Hexadecimal a cadena: Esto no tiene sentido. Es la corda.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Caracteres hexadecimales a ASCII:
            byte babb = 0x45;
            String Ass = ((char)Babb). ToString();

            Cadenas ASCII a números decimales
            string tr = "2Ab Liu";
            cadena d ="";
            para (int i = 0; Yo < tr. Longitud; i++)
            {
                int ii = (int)Convert.ToChar(tr. Subcadena(i, 1));
                d = d +" "+ ii.ToString();
            }

            Cadena ASCII a número hexadecimal
            cadena s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = nuevo StringBuilder();
            foreach (byte b en ba)
            {
                SB. Append(b.ToString("x") + " ");
            }

            De hexadecimal a decimal
            int intA = 0x16; Al definir, debe ser 0x  
            cuerdas A = "16"; Las cuerdas pueden estar sin  
            int intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            10 a 16
            strA = Convertir.ToString(intA2, 16);


            Decimal a binario, el hexadecimal es similar
            int int10 = 10;
            string str2 = Convert.ToString(int10,2);

            De binario a decimal
            int10 = Convert.ToInt32(str2,2);







//-------------------------------------------------------------------------------

¿Cómo recibe el puerto serial en c# un conjunto de números hexadecimales?
¿Cómo recibe C# SerialPort un conjunto de números hexadecimales y cómo debe escribirse el programa?
Mejor respuesta
System.IO.Puertos.SerialPort sp = nuevo System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   El tamaño del número hexadecimal (digamos 6 bytes)
Byte[] buffer = nuevo Byte[buffersize];   Crear un buffer
sp. Leído (buffer, 0, buffersize);    Leído de COM1

Este conjunto de números hexadecimales se procesa  


El puerto serie C# envía datos
Puntos de recompensa: 5 - Tiempo de resolución: 19-10-2009 21:15
Quiero enviar un comando hexadecimal al puerto serie, la cadena de comandos es: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
¿Cómo puedo convertir la cadena anterior numéricamente para que el puerto serie del ordenador sepa que la cadena que envié es hexadecimal? Suplemento de preguntas:
¿Quién tiene un código de ejemplo así? Por favor, ayudadme, soy fabricante de hardware, no estoy familiarizado con el software, espero que el maestro pueda dar un código detallado, ¡gracias! Pregunta: daishuanqing - Becario Nivel 1
Mejor respuesta
Añadir una referencia: Microsoft.VisualBasic (es código C#, pero necesita referencia). )

Recorre los SerialPortNames con lo siguiente para obtener todos los puertos serie
Microsoft.VisualBasic.Devices.Computer pc = nuevo Microsoft.VisualBasic.Devices.Computer();
Foreach (cadena s en pc. Puertos.NombresSerialPuerto)
{
    this.comboBox1.Items.Add(s);
}

Luego se utiliza el nombre del puerto serial comName que se muestra para obtener el objeto de operación. Puedes abrir este puerto serial:

System.IO.Puertos.SerialPort com = nuevo System.IO.Puertos.SerialPort(comName);
com. Abierto();

Los datos pueden entonces escribirse en el puerto serie

Envío de datos al puerto serial:
com. WriteLine(this.textBox1.Text);
También se pueden escribir arrays de bytes
com. Write(bArray,0,5); Se refiere a los 5 bytes que empiezan en 0 y que escriben el array de bytes bArray

También se pueden aceptar datos:
com. ReadLine()
También es posible leer bytes
com. ReadByte();


Finalmente, está cerrado:
com. Cerca();


Además, convierte la cadena hexadecimal a byte
byte b = Convert.ToByte("1A",16); El puerto serie C# envía datos
Puntos de recompensa: 5 - Tiempo de resolución: 19-10-2009 21:15
Quiero enviar un comando hexadecimal al puerto serie, la cadena de comandos es: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
¿Cómo puedo convertir la cadena anterior numéricamente para que el puerto serie del ordenador sepa que la cadena que envié es hexadecimal? Suplemento de preguntas:
¿Quién tiene un código de ejemplo así? Por favor, ayudadme, soy fabricante de hardware, no estoy familiarizado con el software, espero que el maestro pueda dar un código detallado, ¡gracias! Pregunta: daishuanqing - Becario Nivel 1
Mejor respuesta
Añadir una referencia: Microsoft.VisualBasic (es código C#, pero necesita referencia). )

Recorre los SerialPortNames con lo siguiente para obtener todos los puertos serie
Microsoft.VisualBasic.Devices.Computer pc = nuevo Microsoft.VisualBasic.Devices.Computer();
Foreach (cadena s en pc. Puertos.NombresSerialPuerto)
{
    this.comboBox1.Items.Add(s);
}

Luego se utiliza el nombre del puerto serial comName que se muestra para obtener el objeto de operación. Puedes abrir este puerto serial:

System.IO.Puertos.SerialPort com = nuevo System.IO.Puertos.SerialPort(comName);
com. Abierto();

Los datos pueden entonces escribirse en el puerto serie

Envío de datos al puerto serial:
com. WriteLine(this.textBox1.Text);
También se pueden escribir arrays de bytes
com. Write(bArray,0,5); Se refiere a los 5 bytes que empiezan en 0 y que escriben el array de bytes bArray

También se pueden aceptar datos:
com. ReadLine()
También es posible leer bytes
com. ReadByte();


Finalmente, está cerrado:
com. Cerca();


Además, convierte la cadena hexadecimal a byte
byte b = Convert.ToByte("1A",16);




Anterior:Cifrado y descifrado ASCII en C#
Próximo:WebAPI no admite soluciones alternativas para solicitudes entre dominios
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com