Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 21268|Válasz: 0

[Forrás] C# 2, 10, 16 és 16 és ASCII kódjaik

[Linket másol]
Közzétéve 2016. 08. 09. 10:22:40 | | |

C# 2, 10, 16 és 16 és ASCII kódjaik
            --------//Különböző karaktertípusok átalakítása C#-ban a soros port kommunikációhoz------------


             A karakterhossz megértése
            string s = "Én vagyok a 2 katona";
            int len = s. Hossz; 6 szereplő  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Hossz; 11 bájt  
           
            Nincs értelme a tizedes szöveget láncsorrá alakítani, és át kell alakítani a megfelelő ASCII kódra
            int t1 = 81;
            S1 húr = t1. ToString();
            Ez a tizedes átalakítás ASCII karaktereknek felel meg, hogy érthető legyen.
            s1 = ((char)t1). ToString();

            Hexadecimalistától a sorhoz: Ez nem logikus. Tostring.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Hexadecimális ASCII karakterek:
            byte babb = 0x45;
            string sas = ((char)babb). ToString();

            ASCII stringekből tizedesszámokig
            string tr = "2Ab Liu";
            d string ="";
            for (int i = 0; Én < tr. Hossz; i++)
            {
                int ii = (int)Convert.ToChar(tr. Szubstring(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII stringből hexadecimali számra
            s2 húr = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = új StringBuilder();
            foreach (b báj a ba-ban)
            {
                SB. Append(b.ToString("x") + " ");
            }

            Hexadecimalistától tizedesig
            int intA = 0x16; Definiálásakor 0x-nek kell lennie  
            string strA = "16"; A húrok nélkülözhetők  
            int intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            10-től 16-ig
            strA = Convert.ToString(intA2, 16);


            Tizedes és bináris szinten a hexadecimális hasonló
            int int10 = 10;
            string str2 = Convert.ToString(int10,2);

            Binárisról tizedeslegre
            int10 = Convert.ToInt32(str2,2);







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

Hogyan fogadja a c# serialport egy hexadecimális számhalmazt
Hogyan fogadja a C# SerialPort egy hexadecimális számhalmazt, és hogyan kell megírni a programot?
A legjobb válasz
System.IO.Ports.SerialPort sp = új System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   A hexadecimális szám mérete (mondjuk 6Byte)
Byte[] buffer = új Byte[buffersize];   Hozz létre egy puffert
sp. Read(buffer, 0, buffersize);    Olvasd el a COM1-ből

Ezt a hexadecimalis számkészletet feldolgozzák  


C# soros port adatot küld
Fejdíj pontok: 5 - Feloldási idő: 2009-10-19 21:15
Hatszög parancsot szeretnék küldeni a soros portba, a parancssor: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Hogyan konvertálhatom a fenti sort numerikusan úgy, hogy a számítógép soros portja tudja, hogy az általam küldött string hexadecimális? Kérdés kiegészítő:
Akinek van ilyen mintakódja, kérem, segítsen, hardvergyártó vagyok, nem ismeri a szoftvereket, remélem, a mester részletes kódot tud adni, köszönöm! Kérdező: daishuanqing - 1. szintű gyakornok
A legjobb válasz
Adj hozzá egy hivatkozást: Microsoft.VisualBasic (C# kód, de hivatkozni kell.) )

Haladj a SerialPortName-eken az alábbi mutatóval, hogy megkapd az összes soros portot
Microsoft.VisualBasic.Devices.Computer pc = új Microsoft.VisualBasic.Devices.Computer();
foreach (s húr a PC-ben. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Ezután a megjelenített comName sorozatport név alapján megkapjuk az operációs objektumot. Ezt a soros portot nyithatja meg:

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

Ezután az adatokat a soros portra lehet írni

Adatküldés soros portra:
com. WriteLine(this.textBox1.Text);
Bájttömbök is írhatók
com. Write(bArray,0,5); Ez arra az 5 bájtra utal, amelyek 0-tól kezdődnek, és a bArray bájttömböt írják

Az adatok is elfogadhatók:
com. ReadLine()
Lehetséges bájtok olvasása is
com. ReadByte();


Végül lezárt:
com. Close();


Emellett konvertáld a hexadecimális stringet bájttá
byte b = Convert.ToByte("1A",16); C# soros port adatot küld
Fejdíj pontok: 5 - Feloldási idő: 2009-10-19 21:15
Hatszög parancsot szeretnék küldeni a soros portba, a parancssor: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Hogyan konvertálhatom a fenti sort numerikusan úgy, hogy a számítógép soros portja tudja, hogy az általam küldött string hexadecimális? Kérdés kiegészítő:
Akinek van ilyen mintakódja, kérem, segítsen, hardvergyártó vagyok, nem ismeri a szoftvereket, remélem, a mester részletes kódot tud adni, köszönöm! Kérdező: daishuanqing - 1. szintű gyakornok
A legjobb válasz
Adj hozzá egy hivatkozást: Microsoft.VisualBasic (C# kód, de hivatkozni kell.) )

Haladj a SerialPortName-eken az alábbi mutatóval, hogy megkapd az összes soros portot
Microsoft.VisualBasic.Devices.Computer pc = új Microsoft.VisualBasic.Devices.Computer();
foreach (s húr a PC-ben. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Ezután a megjelenített comName sorozatport név alapján megkapjuk az operációs objektumot. Ezt a soros portot nyithatja meg:

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

Ezután az adatokat a soros portra lehet írni

Adatküldés soros portra:
com. WriteLine(this.textBox1.Text);
Bájttömbök is írhatók
com. Write(bArray,0,5); Ez arra az 5 bájtra utal, amelyek 0-tól kezdődnek, és a bArray bájttömböt írják

Az adatok is elfogadhatók:
com. ReadLine()
Lehetséges bájtok olvasása is
com. ReadByte();


Végül lezárt:
com. Close();


Emellett konvertáld a hexadecimális stringet bájttá
byte b = Convert.ToByte("1A",16);




Előző:C# ASCII titkosítás és dekódolás
Következő:A WebAPI nem támogatja a különböző tartományok közötti kérések kerülőmegoldásait
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com