Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 21268|Svar: 0

[Källa] C# 2, 10, 16 och 16 samt deras ASCII-koder

[Kopiera länk]
Publicerad på 2016-08-09 10:22:40 | | |

C# 2, 10, 16 och 16 samt deras ASCII-koder
            --------//Konvertering av olika teckentyper i C# för seriell portkommunikation------------


             Förståelse av teckenlängd
            strängar s = "Jag är en 2-soldat";
            int len = s.Längd; 6 karaktärer  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Längd; 11 byte  
           
            Det är meningslöst att konvertera decimal till sträng, och den måste konverteras till motsvarande ASCII-kod
            int t1 = 81;
            sträng s1 = t1. ToString();
            Denna decimalkonvertering motsvarar ASCII-tecken för att vara begriplig.
            s1 = ((tecken)t1). ToString();

            Hexadecimal till sträng: Det här är inte logiskt. Det är tostring.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Hexadecimal till ASCII-tecken:
            byte babb = 0x45;
            strängras = ((karaktär)babb). ToString();

            ASCII-strängar till decimaltal
            sträng tr = "2Ab Liu";
            sträng d ="";
            för (int i = 0; Jag < TR. Längd; i++)
            {
                int ii = (int)Konvertera.Till Char(övers. delsträng(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII-sträng till hexadecimaltal
            sträng 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 till decimal
            int intA = 0x16; När man definierar måste den vara 0x  
            strängstrA = "16"; Strängar kan vara utan  
            int intA1 = Konvertera.TillInt32(intA);
            int intA2 = Konvertera.TillInt32(strA, 16);

            10 till 16
            strA = Konvertera.TillSträng(intA2, 16);


            Decimal till binär är hexadecimal liknande
            int int10 = 10;
            sträng str2 = Konvertera.TillSträng(int10,2);

            Binära till decimal
            int10 = Konvertera.TillInt32(str2,2);







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

Hur får c# serialport en uppsättning hexadecimala tal?
Hur tar C# SerialPort emot en uppsättning hexadecimala tal, och hur bör programmet skrivas?
Bästa svaret
System.IO.Ports.SerialPort sp = nya System.IO.Ports.SerialPort ("COM1");
int-buffertstorlek = 6;   Storleken på det hexadecimala talet (säg 6 byte)
Byte[] buffer = ny byte[buffersize];   Skapa en buffert
Stav. Läs (buffert, 0, bufferstorlek);    Läs från COM1

Denna uppsättning hexadecimala tal bearbetas  


C# serieport skickar data
Uppdragspoäng: 5 - Upplösningstid: 2009-10-19 21:15
Jag vill skicka ett hex-kommando till den seriella porten, kommandosträngen är: "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"
Hur kan jag konvertera ovanstående sträng numeriskt så att datorns serieport vet att strängen jag skickade är hexadecimal? Frågetillägg:
Vem har en sådan exempelkod, snälla hjälp mig, jag är hårdvarutillverkare, inte bekant med mjukvara, jag hoppas att mästaren kan ge en detaljerad kod, tack! Frågeställare: daishuanqing - Praktikant nivå 1
Bästa svaret
Lägg till en referens: Microsoft.VisualBasic (är C#-kod, men den måste refereras.) )

Gå igenom SerialPortNames med följande för att få alla serieportar
Microsoft.VisualBasic.Devices.Computer pc = ny Microsoft.VisualBasic.Devices.Computer();
Foreach (sträng s i PC. Portar.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Därefter används det seriella portnamnet comName som visas för att hämta operationsobjektet. Du kan öppna denna serieport:

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

Data kan sedan skrivas till den seriella porten

Skicka data till serieporten:
com. WriteLine(this.textBox1.Text);
Bytearrayer kan också skrivas
com. Skriv(bArray,0,5); Det syftar på de 5 byte som börjar från 0 och skriver bytearrayen bArray

Data kan också accepteras:
com. ReadLine()
Det är också möjligt att läsa bytes
com. ReadByte();


Slutligen är den avslutad:
com. Close();


Konvertera också den hexadecimala strängen till byte
byte b = Konvertera.Tillbyte("1A",16); C# serieport skickar data
Uppdragspoäng: 5 - Upplösningstid: 2009-10-19 21:15
Jag vill skicka ett hex-kommando till den seriella porten, kommandosträngen är: "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"
Hur kan jag konvertera ovanstående sträng numeriskt så att datorns serieport vet att strängen jag skickade är hexadecimal? Frågetillägg:
Vem har en sådan exempelkod, snälla hjälp mig, jag är hårdvarutillverkare, inte bekant med mjukvara, jag hoppas att mästaren kan ge en detaljerad kod, tack! Frågeställare: daishuanqing - Praktikant nivå 1
Bästa svaret
Lägg till en referens: Microsoft.VisualBasic (är C#-kod, men den måste refereras.) )

Gå igenom SerialPortNames med följande för att få alla serieportar
Microsoft.VisualBasic.Devices.Computer pc = ny Microsoft.VisualBasic.Devices.Computer();
Foreach (sträng s i PC. Portar.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Därefter används det seriella portnamnet comName som visas för att hämta operationsobjektet. Du kan öppna denna serieport:

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

Data kan sedan skrivas till den seriella porten

Skicka data till serieporten:
com. WriteLine(this.textBox1.Text);
Bytearrayer kan också skrivas
com. Skriv(bArray,0,5); Det syftar på de 5 byte som börjar från 0 och skriver bytearrayen bArray

Data kan också accepteras:
com. ReadLine()
Det är också möjligt att läsa bytes
com. ReadByte();


Slutligen är den avslutad:
com. Close();


Konvertera också den hexadecimala strängen till byte
byte b = Konvertera.Tillbyte("1A",16);




Föregående:C# ASCII-kryptering och dekryptering
Nästa:WebAPI stöder inte lösningar för domänöverskridande förfrågningar
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com