Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 21268|Svar: 0

[Kilde] C# 2, 10, 16 og 16 samt deres ASCII-koder

[Kopier link]
Opslået på 09/08/2016 10.22.40 | | |

C# 2, 10, 16 og 16 samt deres ASCII-koder
            --------//Konvertering af forskellige tegntyper i C# til seriel portkommunikation------------


             Forståelse af tegnlængde
            streng s = "Jeg er en 2-soldat";
            int len = s.Længde; 6 karakterer  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Længde; 11 bytes  
           
            Det giver ingen mening at konvertere decimal til streng, og det skal konverteres til den tilsvarende ASCII-kode
            int t1 = 81;
            streng s1 = t1. ToString();
            Denne decimalkonvertering svarer til ASCII-tegn, for at give mening.
            s1 = ((tegn)t1). ToString();

            Hexadecimal til streng: Det giver ikke mening. Det er tostring.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Hexadecimal til ASCII-tegn:
            byte babb = 0x45;
            streng ass = ((karakter)babb). ToString();

            ASCII-strenge til decimaltal
            streng tr = "2Ab Liu";
            streng d ="";
            for (int i = 0; Jeg < TR. Længde; i++)
            {
                int ii = (int)Konverter.Til Char(overs. Understreng(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII-streng til hexadecimaltal
            streng s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = ny StringBuilder();
            foreach (byte b i BA)
            {
                SB. Append(b.ToString("x") + " ");
            }

            Hexadecimal til decimal
            int intA = 0x16; Når man definerer, skal den være 0x  
            strengstrA = "16"; Strenge kan være uden  
            int intA1 = Konverter.TilInt32(intA);
            int intA2 = Konverter.TilInt32(strA, 16);

            10 til 16
            strA = Konverter.tilStreng(intA2, 16);


            Decimal til binær, hexadecimal er lignende
            int int10 = 10;
            streng str2 = Konverter.TilStreng(int10,2);

            Binær til decimal
            int10 = Konverter.TilInt32(str2,2);







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

Hvordan modtager c# serialport et sæt hexadecimale tal?
Hvordan modtager C# SerialPort et sæt hexadecimale tal, og hvordan bør programmet skrives?
Bedste svar
System.IO.Ports.SerialPort sp = ny System.IO.Ports.SerialPort ("COM1");
int buffersize = 6;   Størrelsen af det hexadecimale tal (lad os sige 6Byte)
Byte[] buffer = ny Byte[buffersize];   Opret en buffer
Sp. Read(buffer, 0, buffersize);    Læs fra COM1

Dette sæt hexadecimale tal behandles  


C# seriel port sender data
Dusørpoint: 5 - Resolutionstid: 2009-10-19 21:15
Jeg vil sende en hex-kommando til den serielle port, kommandostrengen er: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Hvordan kan jeg konvertere ovenstående streng numerisk, så computerens seriel port ved, at den streng, jeg sendte, er hexadecimal? Spørgsmålssupplement:
Hvem har sådan en eksempelkode, hjælp mig venligst, jeg er hardwareproducent, ikke bekendt med software, jeg håber, mesteren kan give en detaljeret kode, tak! Spørger: daishuanqing - Praktikant niveau 1
Bedste svar
Tilføj en reference: Microsoft.VisualBasic (er C#-kode, men den skal refereres.) )

Gå gennem SerialPortNames med følgende for at få alle serielportene
Microsoft.VisualBasic.Devices.Computer pc = ny Microsoft.VisualBasic.Devices.Computer();
Foreach (streng s i PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Derefter bruges det viste seriel portnavn comName til at hente operationsobjektet. Du kan åbne denne seriel port:

System.IO.Ports.SerialPort com = ny System.IO.Ports.SerialPort(comName);
com. Open();

Data kan derefter skrives til den serielle port

Afsendelse af data til seriel port:
com. WriteLine(this.textBox1.Text);
byte-arrays kan også skrives
com. Write(bArray,0,5); Det refererer til de 5 bytes, der starter fra 0, som skriver byte-arrayet bArray

Data kan også accepteres:
com. ReadLine()
Det er også muligt at læse bytes
com. ReadByte();


Endelig er den lukket:
com. Close();


Konverter også hexadecimalstrengen til byte
byte b = Convert.ToByte("1A",16); C# seriel port sender data
Dusørpoint: 5 - Resolutionstid: 2009-10-19 21:15
Jeg vil sende en hex-kommando til den serielle port, kommandostrengen er: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Hvordan kan jeg konvertere ovenstående streng numerisk, så computerens seriel port ved, at den streng, jeg sendte, er hexadecimal? Spørgsmålssupplement:
Hvem har sådan en eksempelkode, hjælp mig venligst, jeg er hardwareproducent, ikke bekendt med software, jeg håber, mesteren kan give en detaljeret kode, tak! Spørger: daishuanqing - Praktikant niveau 1
Bedste svar
Tilføj en reference: Microsoft.VisualBasic (er C#-kode, men den skal refereres.) )

Gå gennem SerialPortNames med følgende for at få alle serielportene
Microsoft.VisualBasic.Devices.Computer pc = ny Microsoft.VisualBasic.Devices.Computer();
Foreach (streng s i PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Derefter bruges det viste seriel portnavn comName til at hente operationsobjektet. Du kan åbne denne seriel port:

System.IO.Ports.SerialPort com = ny System.IO.Ports.SerialPort(comName);
com. Open();

Data kan derefter skrives til den serielle port

Afsendelse af data til seriel port:
com. WriteLine(this.textBox1.Text);
byte-arrays kan også skrives
com. Write(bArray,0,5); Det refererer til de 5 bytes, der starter fra 0, som skriver byte-arrayet bArray

Data kan også accepteres:
com. ReadLine()
Det er også muligt at læse bytes
com. ReadByte();


Endelig er den lukket:
com. Close();


Konverter også hexadecimalstrengen til byte
byte b = Convert.ToByte("1A",16);




Tidligere:C# ASCII-kryptering og dekryptering
Næste:WebAPI understøtter ikke workarounds for cross-domain forespørgsler
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com