Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 21268|Antwort: 0

[Quelle] C# 2, 10, 16 und 16 sowie ihre ASCII-Codes

[Link kopieren]
Veröffentlicht am 09.08.2016 10:22:40 | | |

C# 2, 10, 16 und 16 sowie ihre ASCII-Codes
            --------//Konvertierung verschiedener Zeichentypen in C# für die serielle Portkommunikation------------


             Verständnis der Zeichenlänge
            strings s = "Ich bin ein 2-Soldat";
            int len = s.Length; 6 Charaktere  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Länge; 11 Bytes  
           
            Es macht keinen Sinn, Dezimalzeichen in eine Zeichenkette umzuwandeln, und sie muss in den entsprechenden ASCII-Code umgewandelt werden
            int t1 = 81;
            Saite s1 = t1. ToString();
            Diese Dezimalumrechnung entspricht ASCII-Zeichen, um Sinn zu machen.
            s1 = ((char)t1). ToString();

            Hexadezimal zu Saite: Das ergibt keinen Sinn. Es ist Tostring.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Hexadezimal bis ASCII-Zeichen:
            byte babb = 0x45;
            String ass = ((char)babb). ToString();

            ASCII-Strings bis Dezimalzahlen
            Saite tr = "2Ab Liu";
            Saite d ="";
            für (int i = 0; Ich < TR. Länge; i++)
            {
                int ii = (int)Konvertieren.Zu Char(übers. Teilstring(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII-String zu hexadezimaler Zahl
            Saite s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = neuer StringBuilder();
            foreach (Byte B in BA)
            {
                SB. Anhang(b.ToString("x") + " ");
            }

            Hexadezimal bis Dezimal
            int intA = 0x16; Beim Definieren muss es 0x sein  
            SaitenstrA = "16"; Strings können ohne Strings sein  
            int intA1 = Konvertieren.ToInt32(intA);
            int intA2 = Konvertieren.ToInt32(strA, 16);

            10 bis 16
            strA = Convert.ToString(intA2, 16);


            Dezimal bis Binär, hexadezimal ist ähnlich
            int int10 = 10;
            String str2 = Konvertieren.ToString(int10,2);

            Binär- zu Dezimalformat
            int10 = Konvertieren.ToInt32(str2,2);







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

Wie erhält C# Serialport eine Menge hexadezimaler Zahlen?
Wie erhält C# SerialPort eine Menge hexadezimaler Zahlen und wie sollte das Programm geschrieben werden?
Beste Antwort
System.IO.Ports.SerialPort sp = neues System.IO.Ports.SerialPort("COM1");
int-Puffergröße = 6;   Die Größe der hexadezimalen Zahl (sagen wir 6 Byte)
Byte[] buffer = neuer Byte[buffersize];   Erstellen Sie einen Puffer
Sp. Read(buffer, 0, buffersize);    Lies aus COM1

Diese Menge hexadezimaler Zahlen wird verarbeitet  


C#-Serialport sendet Daten
Kopfgeldpunkte: 5 - Auflösungszeit: 19.10.2009 21:15
Ich möchte einen Hex-Befehl an den seriellen Port senden, die Befehlsfolge lautet: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Wie kann ich die obige Zeichenkette numerisch umwandeln, sodass der Seriellport des Computers weiß, dass die gesendete Zeichenkette hexadezimal ist? Fragezusatz:
Wer hat so einen Beispielcode? Bitte helft mir, ich bin Hardware-Hersteller, kenne mich mit Software nicht aus, ich hoffe, der Master kann einen detaillierten Code geben, danke! Fragesteller: daishuanqing – Praktikantenstufe 1
Beste Antwort
Fügen Sie eine Referenz hinzu: Microsoft.VisualBasic (ist C#-Code, muss aber referenziert werden). )

Durchlaufe die SerialPortNames mit Folgendem, um alle seriellen Ports zu erhalten
Microsoft.VisualBasic.Devices.Computer pc = neuer Microsoft.VisualBasic.Devices.Computer();
foreach (Strings s im PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Anschließend wird der angezeigte serielle Portname comName verwendet, um das Operationsobjekt zu erhalten. Du kannst diesen seriellen Anschluss öffnen:

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

Daten können dann auf den seriellen Anschluss geschrieben werden

Daten an den seriellen Port senden:
com. WriteLine(this.textBox1.Text);
Byte-Arrays können auch geschrieben werden
com. Write(bArray,0,5); Es bezieht sich auf die 5 Bytes, die bei 0 beginnen und das Byte-Array bArray schreiben

Daten können ebenfalls akzeptiert werden:
com. ReadLine()
Es ist auch möglich, Bytes zu lesen
com. ReadByte();


Abschließend ist es geschlossen:
com. Close();


Konvertiere außerdem die hexadezimale Zeichenkette in ein Byte
Byte b = Convert.ToByte("1A",16); C#-Serialport sendet Daten
Kopfgeldpunkte: 5 - Auflösungszeit: 19.10.2009 21:15
Ich möchte einen Hex-Befehl an den seriellen Port senden, die Befehlsfolge lautet: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Wie kann ich die obige Zeichenkette numerisch umwandeln, sodass der Seriellport des Computers weiß, dass die gesendete Zeichenkette hexadezimal ist? Fragezusatz:
Wer hat so einen Beispielcode? Bitte helft mir, ich bin Hardware-Hersteller, kenne mich mit Software nicht aus, ich hoffe, der Master kann einen detaillierten Code geben, danke! Fragesteller: daishuanqing – Praktikantenstufe 1
Beste Antwort
Fügen Sie eine Referenz hinzu: Microsoft.VisualBasic (ist C#-Code, muss aber referenziert werden). )

Durchlaufe die SerialPortNames mit Folgendem, um alle seriellen Ports zu erhalten
Microsoft.VisualBasic.Devices.Computer pc = neuer Microsoft.VisualBasic.Devices.Computer();
foreach (Strings s im PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Anschließend wird der angezeigte serielle Portname comName verwendet, um das Operationsobjekt zu erhalten. Du kannst diesen seriellen Anschluss öffnen:

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

Daten können dann auf den seriellen Anschluss geschrieben werden

Daten an den seriellen Port senden:
com. WriteLine(this.textBox1.Text);
Byte-Arrays können auch geschrieben werden
com. Write(bArray,0,5); Es bezieht sich auf die 5 Bytes, die bei 0 beginnen und das Byte-Array bArray schreiben

Daten können ebenfalls akzeptiert werden:
com. ReadLine()
Es ist auch möglich, Bytes zu lesen
com. ReadByte();


Abschließend ist es geschlossen:
com. Close();


Konvertiere außerdem die hexadezimale Zeichenkette in ein Byte
Byte b = Convert.ToByte("1A",16);




Vorhergehend:C# ASCII-Verschlüsselung und Entschlüsselung
Nächster:WebAPI unterstützt keine Workarounds für domänenübergreifende Anfragen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com