Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 21268|Odpoveď: 0

[Zdroj] C# 2, 10, 16 a 16 a ich ASCII kódy

[Kopírovať odkaz]
Zverejnené 9. 8. 2016 10:22:40 | | |

C# 2, 10, 16 a 16 a ich ASCII kódy
            --------//Konverzia rôznych typov znakov v C# pre komunikáciu so sériovými portmi------------


             Pochopenie dĺžky znaku
            string s = "Som vojak 2";
            int len = s.dĺžka; 6 postáv  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Dĺžka; 11 bajtov  
           
            Nemá zmysel konvertovať desatinnú frekvenciu na reťazec a musí byť prevedená na príslušný ASCII kód
            int t1 = 81;
            reťazec s1 = t1. ToString();
            Táto desiatková konverzia zodpovedá ASCII znakom, aby dávala zmysel.
            s1 = ((char)t1). ToString();

            Hexadecimálne na reťazec: Toto nedáva zmysel. Je to šňůra.
            intAB = 0x16;
            s1 = intAB.ToString();
            Hexadecimálne až ASCII znaky:
            byte babb = 0x45;
            string ass = ((char)babb). ToString();

            ASCII reťazce na desatinné čísla
            struna tr = "2Ab Liu";
            reťazec d ="";
            pre (int i = 0; Ja som < tr. Dĺžka; i++)
            {
                int ii = (int)Convert.ToChar(tr. Podreťazec(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII reťazec na hexadecimálne číslo
            struna s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = nový StringBuilder();
            Foreach (bajt B v Ba)
            {
                SB. Append(b.ToString("x") + " ");
            }

            Hexadecimálne až desatinné
            intA = 0x16; Pri definovaní musí byť 0x  
            struna strA = "16"; Struny môžu byť bez  
            int intA1 = Konvert.ToInt32(intA);
            intA2 = Konvert.ToInt32(strA, 16);

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


            Desatinné až binárne, hexadecimálne je podobné
            int int10 = 10;
            string str2 = Convert.ToString(int10,2);

            Binárne po desatinné
            int10 = Konvert.ToInt32(str2,2);







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

Ako c# serialport prijíma sadu hexadecimálnych čísel
Ako C# SerialPort prijíma súbor hexadecimálnych čísel a ako by mal byť program napísaný?
Najlepšia odpoveď
System.IO.Ports.SerialPort sp = nový System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   Veľkosť hexadecimálneho čísla (povedzme 6 bajtov)
Byte[] buffer = nový Byte[buffersize];   Vytvorte buffer
Sp. Read(buffer, 0, buffersize);    Čítajte z COM1

Táto množina hexadecimálnych čísel sa spracováva  


C# sériový port odosiela dáta
Body za odmenu: 5 - Čas riešenia: 2009-10-19 21:15
Chcem poslať hex príkaz na sériový port, príkazový reťazec je: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Ako môžem vyššie uvedený reťazec číselne previesť tak, aby sériový port počítača vedel, že reťazec, ktorý som poslal, je hexadecimálny? Doplnok k otázke:
Kto má takýto ukážkový kód, prosím, pomôžte mi, som výrobca hardvéru, nie som oboznámený so softvérom, dúfam, že master vám poskytne podrobný kód, ďakujem! Otázateľ: daishuanqing - Stážista úroveň 1
Najlepšia odpoveď
Pridajte referenciu: Microsoft.VisualBasic (je to C# kód, ale je potrebné ho uviesť.) )

Prejdite SerialPortNames pomocou nasledujúcich, aby ste získali všetky sériové porty
Microsoft.VisualBasic.Devices.Computer pc = nový Microsoft.VisualBasic.Devices.Computer();
foreach (reťazec s v PC. Porty.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Potom sa na získanie prevádzkového objektu použije zobrazené sériové portové meno comName. Tento sériový port môžete otvoriť:

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

Dáta sa potom môžu zapisovať na sériový port

Odosielanie dát na sériový port:
com. WriteLine(this.textBox1.Text);
bajtové polia je možné tiež zapisovať
com. Write(bArray,0,5); Označuje 5 bajtov začínajúcich od 0, ktoré zapisujú bajtové pole bArray

Údaje môžu byť akceptované aj:
com. ReadLine()
Je tiež možné čítať bajty
com. ReadByte();


Nakoniec je uzavretá:
com. Close();


Tiež preveďte hexadecimálny reťazec na bajt
byte b = Convert.ToByte("1A",16); C# sériový port odosiela dáta
Body za odmenu: 5 - Čas riešenia: 2009-10-19 21:15
Chcem poslať hex príkaz na sériový port, príkazový reťazec je: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Ako môžem vyššie uvedený reťazec číselne previesť tak, aby sériový port počítača vedel, že reťazec, ktorý som poslal, je hexadecimálny? Doplnok k otázke:
Kto má takýto ukážkový kód, prosím, pomôžte mi, som výrobca hardvéru, nie som oboznámený so softvérom, dúfam, že master vám poskytne podrobný kód, ďakujem! Otázateľ: daishuanqing - Stážista úroveň 1
Najlepšia odpoveď
Pridajte referenciu: Microsoft.VisualBasic (je to C# kód, ale je potrebné ho uviesť.) )

Prejdite SerialPortNames pomocou nasledujúcich, aby ste získali všetky sériové porty
Microsoft.VisualBasic.Devices.Computer pc = nový Microsoft.VisualBasic.Devices.Computer();
foreach (reťazec s v PC. Porty.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Potom sa na získanie prevádzkového objektu použije zobrazené sériové portové meno comName. Tento sériový port môžete otvoriť:

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

Dáta sa potom môžu zapisovať na sériový port

Odosielanie dát na sériový port:
com. WriteLine(this.textBox1.Text);
bajtové polia je možné tiež zapisovať
com. Write(bArray,0,5); Označuje 5 bajtov začínajúcich od 0, ktoré zapisujú bajtové pole bArray

Údaje môžu byť akceptované aj:
com. ReadLine()
Je tiež možné čítať bajty
com. ReadByte();


Nakoniec je uzavretá:
com. Close();


Tiež preveďte hexadecimálny reťazec na bajt
byte b = Convert.ToByte("1A",16);




Predchádzajúci:C# ASCII šifrovanie a dešifrovanie
Budúci:WebAPI nepodporuje obchádzky pre požiadavky medzi doménami
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com