Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 21268|Svare: 0

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

[Kopier lenke]
Publisert på 09.08.2016 10:22:40 | | |

C# 2, 10, 16 og 16 og deres ASCII-koder
            --------//Konvertering av ulike tegntyper i C# for seriell portkommunikasjon------------


             Forståelse av tegnlengde
            streng s = "Jeg er en 2-soldat";
            int len = s.Lengde; 6 karakterer  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Lengde; 11 byte  
           
            Det gir ingen mening å konvertere desimal til streng, og det må konverteres til tilsvarende ASCII-kode
            int t1 = 81;
            Streng S1 = T1. ToString();
            Denne desimalkonverteringen tilsvarer ASCII-tegn for å gi mening.
            s1 = ((karakter)t1). ToString();

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

            ASCII-strenger til desimaltall
            streng tr = "2Ab Liu";
            streng d ="";
            for (int i = 0; Jeg < TR. Lengde; i++)
            {
                int ii = (int)Konverter.Til Char(tr. Delstreng(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII-streng til heksadesimaltall
            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") + " ");
            }

            Heksadesimal til desimal
            int intA = 0x16; Når man definerer, må det være 0x  
            strengstrA = "16"; Strenger kan være uten  
            int intA1 = Konverter.TilInt32(intA);
            int intA2 = Konverter.TilInt32(strA, 16);

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


            Desimal til binær, heksadesimal er likt
            int int10 = 10;
            streng str2 = Konverter.TilStreng(int10,2);

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







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

Hvordan mottar c# serialport et sett med heksadesimale tall
Hvordan mottar C# SerialPort et sett med heksadesimale tall, og hvordan bør programmet skrives?
Beste svar
System.IO.Ports.SerialPort sp = nye System.IO.Ports.SerialPort ("COM1");
int-bufferstørrelse = 6;   Størrelsen på heksadesimaltallet (la oss si 6 byte)
Byte[] buffer = ny byte[buffersize];   Lag en buffer
Sp. Read(buffer, 0, buffersize);    Les fra COM1

Dette settet med heksadesimale tall behandles  


C# seriell port sender data
Dusørpoeng: 5 - Oppløsningstid: 2009-10-19 21:15
Jeg vil sende en hex-kommando til den serielle porten, 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 strengen ovenfor numerisk slik at datamaskinens serieport vet at strengen jeg sendte er heksadesimal? Spørsmålstillegg:
Hvem har en slik eksempelkode, vær så snill å hjelp meg, jeg er en maskinvareprodusent, ikke kjent med programvare, jeg håper masteren kan gi en detaljert kode, takk! Spørsmålsstiller: daishuanqing - Intern nivå 1
Beste svar
Legg til en referanse: Microsoft.VisualBasic (er C#-kode, men den må refereres.) )

Gå gjennom SerialPortNames med følgende for å få alle serieportene
Microsoft.VisualBasic.Devices.Computer pc = ny Microsoft.VisualBasic.Devices.Computer();
foreach (streng s i PC. Porter.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Deretter brukes det serielle portnavnet comName som vises for å hente operasjonsobjektet. Du kan åpne denne serieporten:

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

Data kan deretter skrives til den serielle porten

Sending av data til seriell port:
com. WriteLine(this.textBox1.Text);
Bytematriser kan også skrives
com. Write(bArray,0,5); Det refererer til de 5 bytene som starter fra 0 og skriver byte-arrayet bArray

Data kan også aksepteres:
com. ReadLine()
Det er også mulig å lese bytes
com. ReadByte();


Til slutt er den avsluttet:
com. Close();


Konverter også den heksadesimale strengen til byte
byte b = Convert.ToByte("1A",16); C# seriell port sender data
Dusørpoeng: 5 - Oppløsningstid: 2009-10-19 21:15
Jeg vil sende en hex-kommando til den serielle porten, 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 strengen ovenfor numerisk slik at datamaskinens serieport vet at strengen jeg sendte er heksadesimal? Spørsmålstillegg:
Hvem har en slik eksempelkode, vær så snill å hjelp meg, jeg er en maskinvareprodusent, ikke kjent med programvare, jeg håper masteren kan gi en detaljert kode, takk! Spørsmålsstiller: daishuanqing - Intern nivå 1
Beste svar
Legg til en referanse: Microsoft.VisualBasic (er C#-kode, men den må refereres.) )

Gå gjennom SerialPortNames med følgende for å få alle serieportene
Microsoft.VisualBasic.Devices.Computer pc = ny Microsoft.VisualBasic.Devices.Computer();
foreach (streng s i PC. Porter.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Deretter brukes det serielle portnavnet comName som vises for å hente operasjonsobjektet. Du kan åpne denne serieporten:

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

Data kan deretter skrives til den serielle porten

Sending av data til seriell port:
com. WriteLine(this.textBox1.Text);
Bytematriser kan også skrives
com. Write(bArray,0,5); Det refererer til de 5 bytene som starter fra 0 og skriver byte-arrayet bArray

Data kan også aksepteres:
com. ReadLine()
Det er også mulig å lese bytes
com. ReadByte();


Til slutt er den avsluttet:
com. Close();


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




Foregående:C# ASCII-kryptering og dekryptering
Neste:WebAPI støtter ikke løsninger for tverrdomeneforespørsler
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com