Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 21268|Vastaus: 0

[Lähde] C# 2, 10, 16 ja 16 sekä niiden ASCII-koodit

[Kopioi linkki]
Julkaistu 9.8.2016 10.22.40 | | |

C# 2, 10, 16 ja 16 sekä niiden ASCII-koodit
            --------//Eri merkkityyppien muuntaminen C#:ssa sarjaporttiviestintää varten------------


             Hahmon pituuden ymmärtäminen
            string s = "Olen 2 sotilas";
            int len = s.Pituus; 6 hahmoa  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Pituus; 11 tavua  
           
            Ei ole järkevää muuntaa desimaalia merkkijonoksi, ja se täytyy muuntaa vastaavaksi ASCII-koodiksi
            int t1 = 81;
            merkkijono s1 = t1. ToString();
            Tämä desimaalimuunnos vastaa ASCII-merkkejä, jotta se olisi järkevä.
            s1 = ((hahmo)t1). ToString();

            Heksadesimaali merkkijonoon: Tämä ei käy järkeen. Se on Tostring.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Heksadesimaali ASCII-merkille:
            tavu babb = 0x45;
            string ass = ((char)babb). ToString();

            ASCII-merkkijonot desimaalilukuihin
            string tr = "2Ab Liu";
            merkkijono d ="";
            kun (int i = 0; Minä < tr. Pituus; i++)
            {
                int ii = (int)Convert.ToChar(tr. Alajono(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII-merkkijono heksadesimaalilukuon
            merkkijono s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = uusi StringBuilder();
            foreach (tavu b ba:ssa)
            {
                sb. Append(b.ToString("x") + " ");
            }

            Heksadesimaalista desimaaliin
            int intA = 0x16; Kun määritetään, sen täytyy olla 0x  
            string strA = "16"; Sävelet voivat olla ilman  
            int intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            10–16
            strA = Muunna. Merkkijonoksi(intA2, 16);


            Desimaali ja binääri, heksadesimaali on samankaltainen
            int int10 = 10;
            string str2 = Convert.ToString(int10,2);

            Binääristä desimaaliin
            int10 = Convert.ToInt32(str2,2);







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

Miten c#-sarjaportti vastaanottaa joukon heksadesimaalilukuja
Miten C# SerialPort vastaanottaa joukon heksadesimaalilukuja, ja miten ohjelma tulisi kirjoittaa?
Paras vastaus
System.IO.Ports.SerialPort sp = uusi System.IO.Ports.SerialPort("COM1");
int puskurikoko = 6;   Heksadesimaaliluvun koko (sanotaan vaikka 6Byte)
Byte[] buffer = uusi Byte[buffersize];   Luo puskuri
sp. Read(buffer, 0, buffersize);    Lue COM1:stä

Tämä heksadesimaalilukujen joukko käsitellään  


C#-sarjaportti lähettää dataa
Palkkiopisteet: 5 - Ratkaisuaika: 2009-10-19 21:15
Haluan lähettää kuusikomennon sarjaporttiin, komentojono on: "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"
Miten voin muuntaa yllä olevan merkkijonon numeerisesti niin, että tietokoneen sarjaportti tietää, että lähettämäni merkkijono on kuusikymmendesimaalinen? Kysymyslisä:
Kenellä on tällainen esimerkkikoodi, auttakaa minua, olen laitevalmistaja, en tunne ohjelmistoja, toivottavasti mestari voi antaa yksityiskohtaisen koodin, kiitos! Kysyjä: daishuanqing - harjoittelija taso 1
Paras vastaus
Lisää viite: Microsoft.VisualBasic (on C#-koodia, mutta siihen täytyy viitata mukaan). )

Selaa SerialPortNames-tiedostoja seuraavasti saadaksesi kaikki sarjaportit
Microsoft.VisualBasic.Devices.Computer pc = uusi Microsoft.VisualBasic.Devices.Computer();
foreach (merkkijono s PC:ssä. Portit.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Sitten näytettyä sarjaportin nimeä comName käytetään operaatioobjektin saamiseksi. Voit avata tämän sarjaportin:

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

Data voidaan sitten kirjoittaa sarjaportille

Datan lähettäminen sarjaporttiin:
com. WriteLine(this.textBox1.Text);
Tavutaulukoita voidaan myös kirjoittaa
com. write(bArray,0,5); Se viittaa 5 tavuun, jotka alkavat nollasta ja kirjoittavat tavutaulukon bArray

Tietoja voidaan myös hyväksyä:
com. ReadLine()
Tavujen lukeminen on myös mahdollista
com. ReadByte();


Lopuksi se on suljettu:
com. Close();


Muunna myös heksadesimaalimerkkijono tavuksi
tavu b = Muunna.ToTavu("1A",16); C#-sarjaportti lähettää dataa
Palkkiopisteet: 5 - Ratkaisuaika: 2009-10-19 21:15
Haluan lähettää kuusikomennon sarjaporttiin, komentojono on: "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"
Miten voin muuntaa yllä olevan merkkijonon numeerisesti niin, että tietokoneen sarjaportti tietää, että lähettämäni merkkijono on kuusikymmendesimaalinen? Kysymyslisä:
Kenellä on tällainen esimerkkikoodi, auttakaa minua, olen laitevalmistaja, en tunne ohjelmistoja, toivottavasti mestari voi antaa yksityiskohtaisen koodin, kiitos! Kysyjä: daishuanqing - harjoittelija taso 1
Paras vastaus
Lisää viite: Microsoft.VisualBasic (on C#-koodia, mutta siihen täytyy viitata mukaan). )

Selaa SerialPortNames-tiedostoja seuraavasti saadaksesi kaikki sarjaportit
Microsoft.VisualBasic.Devices.Computer pc = uusi Microsoft.VisualBasic.Devices.Computer();
foreach (merkkijono s PC:ssä. Portit.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Sitten näytettyä sarjaportin nimeä comName käytetään operaatioobjektin saamiseksi. Voit avata tämän sarjaportin:

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

Data voidaan sitten kirjoittaa sarjaportille

Datan lähettäminen sarjaporttiin:
com. WriteLine(this.textBox1.Text);
Tavutaulukoita voidaan myös kirjoittaa
com. write(bArray,0,5); Se viittaa 5 tavuun, jotka alkavat nollasta ja kirjoittavat tavutaulukon bArray

Tietoja voidaan myös hyväksyä:
com. ReadLine()
Tavujen lukeminen on myös mahdollista
com. ReadByte();


Lopuksi se on suljettu:
com. Close();


Muunna myös heksadesimaalimerkkijono tavuksi
tavu b = Muunna.ToTavu("1A",16);




Edellinen:C# ASCII-salaus ja purku
Seuraava:WebAPI ei tue kiertoteitä eri domain-pyyntöihin
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com