Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 21268|Odgovoriti: 0

[Vir] C# 2, 10, 16 in 16 ter njihove ASCII kode

[Kopiraj povezavo]
Objavljeno na 9. 08. 2016 10:22:40 | | |

C# 2, 10, 16 in 16 ter njihove ASCII kode
            --------//Pretvorba različnih vrst znakov v C# za komunikacijo s serijskimi vrati------------


             Razumevanje dolžine znakov
            string s = "Jaz sem vojak 2";
            int len = s.dolžina; 6 likov  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            Len = Sarr. Dolžina; 11 bajtov  
           
            Nima smisla pretvoriti decimalnega v niz in ga je treba pretvoriti v ustrezno ASCII kodo
            int t1 = 81;
            niz s1 = t1. ToString();
            Ta decimalna pretvorba ustreza ASCII znakom, da je smiselna.
            s1 = ((znak)t1). ToString();

            Heksadecimalno na niz: To nima smisla. To je tostring.
            intAB = 0x16;
            s1 = intAB.ToString();
            Heksadecimalni v ASCII znaki:
            byte babb = 0x45;
            string ass = ((char)babb). ToString();

            ASCII nizi do decimalnih številk
            struna tr = "2Ab Liu";
            niz d ="";
            za (int i = 0; Jaz < tr. Dolžina; i++)
            {
                int ii = (int)Pretvori.ToChar(tr. Podniz(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII niz v šestnajstiško številko
            struna s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = novi StringBuilder();
            Foreach (bajt B v Ba)
            {
                SB. Append(b.ToString("x") + " ");
            }

            Heksadecimalno do decimalno
            intA = 0x16; Pri definiranju mora biti 0x  
            struna strA = "16"; Strune so lahko brez  
            intA1 = Pretvori.ToInt32(intA);
            int intA2 = Pretvori.ToInt32(strA, 16);

            10 do 16
            strA = Pretvori.ToString(intA2, 16);


            Decimalno do binarno, šestnajstiško je podobno
            int10 = 10;
            string str2 = Pretvori.ToString(int10,2);

            Binarno v decimalno
            int10 = Pretvori.ToInt32(str2,2);







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

Kako c# serialport prejme nabor šestnajstiških številk
Kako C# SerialPort prejme nabor šestnajstiških številk in kako naj se program napiše?
Najboljši odgovor
System.IO.Ports.SerialPort sp = novi System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   Velikost šestnajstiškega števila (recimo 6 bajtov)
Bajt[] medpomnilnik = nov bajt[buffersize];   Ustvari medpomnilnik
SP. Read(buffer, 0, velikost medpomnilnika);    Branje iz COM1

Ta nabor šestnajstiških števil se obdela  


C# serijski port pošilja podatke
Nagradne točke: 5 - Čas rešitve: 2009-10-19 21:15
Želim poslati heksadecimalni ukaz na serijski port, ukazni niz 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"
Kako lahko zgornji niz pretvorim numerično, da računalniški serijski port ve, da je niz, ki sem ga poslal, šestnajstiški? Dodatek k vprašanju:
Kdo ima takšno vzorčno kodo, prosim pomagajte mi, sem proizvajalec strojne opreme, nisem seznanjen s programsko opremo, upam, da bo mojster lahko podal podrobno kodo, hvala! Vprašalec: daishuanqing - pripravnik 1. stopnja
Najboljši odgovor
Dodajte referenco: Microsoft.VisualBasic (je C# koda, vendar jo je treba navajati.) )

Preglejte SerialPortNames z naslednjimi, da dobite vse serijske porte
Microsoft.VisualBasic.Devices.Computer pc = novi Microsoft.VisualBasic.Devices.Computer();
Foreach (niz S v PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Nato se za pridobitev operacijskega objekta uporabi prikazano ime serijskega porta comName. Lahko odprete ta serijski port:

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

Podatke je nato mogoče zapisati na serijski priključek

Pošiljanje podatkov na serijski priključek:
com. WriteLine(this.textBox1.Text);
bajtna polja se lahko zapišejo tudi
com. Write(bArray,0,5); Nanaša se na 5 bajtov, ki se začnejo z 0 in zapisujejo bajtno polje bArray

Podatke je mogoče sprejeti tudi:
com. ReadLine()
Možno je tudi branje bajtov
com. ReadByte();


Nazadnje je zaprto:
com. Close();


Prav tako pretvorite šestnajstiški niz v bajt
byte b = Convert.ToByte("1A",16); C# serijski port pošilja podatke
Nagradne točke: 5 - Čas rešitve: 2009-10-19 21:15
Želim poslati heksadecimalni ukaz na serijski port, ukazni niz 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"
Kako lahko zgornji niz pretvorim numerično, da računalniški serijski port ve, da je niz, ki sem ga poslal, šestnajstiški? Dodatek k vprašanju:
Kdo ima takšno vzorčno kodo, prosim pomagajte mi, sem proizvajalec strojne opreme, nisem seznanjen s programsko opremo, upam, da bo mojster lahko podal podrobno kodo, hvala! Vprašalec: daishuanqing - pripravnik 1. stopnja
Najboljši odgovor
Dodajte referenco: Microsoft.VisualBasic (je C# koda, vendar jo je treba navajati.) )

Preglejte SerialPortNames z naslednjimi, da dobite vse serijske porte
Microsoft.VisualBasic.Devices.Computer pc = novi Microsoft.VisualBasic.Devices.Computer();
Foreach (niz S v PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Nato se za pridobitev operacijskega objekta uporabi prikazano ime serijskega porta comName. Lahko odprete ta serijski port:

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

Podatke je nato mogoče zapisati na serijski priključek

Pošiljanje podatkov na serijski priključek:
com. WriteLine(this.textBox1.Text);
bajtna polja se lahko zapišejo tudi
com. Write(bArray,0,5); Nanaša se na 5 bajtov, ki se začnejo z 0 in zapisujejo bajtno polje bArray

Podatke je mogoče sprejeti tudi:
com. ReadLine()
Možno je tudi branje bajtov
com. ReadByte();


Nazadnje je zaprto:
com. Close();


Prav tako pretvorite šestnajstiški niz v bajt
byte b = Convert.ToByte("1A",16);




Prejšnji:C# ASCII šifriranje in dešifriranje
Naslednji:WebAPI ne podpira obvozov za zahteve med domenami
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com