Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 21268|Atsakyti: 0

[Šaltinis] C# 2, 10, 16 ir 16 ir jų ASCII kodai

[Kopijuoti nuorodą]
Paskelbta 2016-08-09 10:22:40 | | |

C# 2, 10, 16 ir 16 ir jų ASCII kodai
            --------// Įvairių simbolių tipų konvertavimas C# nuosekliojo prievado ryšiui------------


             Simbolių ilgio supratimas
            string s = "Aš esu 2 kareivis";
            int len = s.Ilgis; 6 simboliai  
            baitas[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Ilgis; 11 baitų  
           
            Nėra prasmės konvertuoti dešimtainį skaičių į eilutę, ir jis turi būti konvertuotas į atitinkamą ASCII kodą
            int t1 = 81;
            eilutė s1 = t1. ToString();
            Šis dešimtainis konvertavimas atitinka ASCII simbolius, kad būtų prasmingas.
            s1 = ((char)t1). ToString();

            Šešioliktainė eilutė: Tai neturi prasmės. Tai virvelė.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Šešioliktainiai į ASCII simbolius:
            baitas babb = 0x45;
            stygos asilas = ((char)babb). ToString();

            ASCII eilutės į dešimtainius skaičius
            string tr = "2Ab Liu";
            eilutė d ="";
            for (int i = 0; I < tr. Ilgis; i++)
            {
                int ii = (int)Convert.ToChar(tr. Papildoma eilutė (i, 1));
                d = d + "+ ii.ToString();
            }

            ASCII eilutė į šešioliktainį skaičių
            eilutė s2 = "2Ab Liu";
            baitas[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = naujas StringBuilder();
            foreach (baitas b ba)
            {
                sb. Append(b.ToString("x") + " ");
            }

            Nuo šešioliktainio iki dešimtainio
            int intA = 0x16; Apibrėžiant jis turi būti 0x  
            string strA = "16"; Stygos gali būti be  
            int intA1 = Konvertuoti.ĮInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            Nuo 10 iki 16
            strA = Convert.ToString(intA2, 16);


            Dešimtainis į dvejetainį, šešioliktainis yra panašus
            int int10 = 10;
            string str2 = Convert.ToString(int10,2);

            Dvejetainis į dešimtainį
            int10 = Konvertuoti.ĮInt32(str2,2);







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

Kaip c# serialport gauna šešioliktainių skaičių rinkinį
Kaip C# SerialPort gauna šešioliktainių skaičių rinkinį ir kaip turėtų būti parašyta programa?
Geriausias atsakymas
System.IO.Ports.SerialPort sp = naujas System.IO.Ports.SerialPort ("COM1");
int buferio dydis = 6;   Šešioliktainio skaičiaus dydis (tarkime, 6 baitai)
Baitas[] buferis = naujas baitas[buferio dydis];   Sukurkite buferį
sp. Read(buferis, 0, buferio dydis);    Skaitykite iš COM1

Šis šešioliktainių skaičių rinkinys apdorojamas  


C# nuoseklusis prievadas siunčia duomenis
Premijos taškai: 5 - Sprendimo laikas: 2009-10-19 21:15
Noriu nusiųsti šešiakampę komandą į nuoseklųjį prievadą, komandų eilutė yra: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Kaip galiu konvertuoti aukščiau pateiktą eilutę skaitmeniškai, kad kompiuterio nuoseklusis prievadas žinotų, kad mano išsiųsta eilutė yra šešioliktainė? Klausimo papildymas:
Kas turi tokį pavyzdinį kodą, prašau padėti man, aš esu aparatūros gamintojas, nesusipažinęs su programine įranga, tikiuosi, kad meistras gali pateikti išsamų kodą, ačiū! Klausėjas: daishuanqing - 1 lygio praktikantas
Geriausias atsakymas
Įtraukite nuorodą: Microsoft.VisualBasic (yra C# kodas, bet jį reikia nurodyti.) )

Pereikite SerialPortNames atlikdami šiuos veiksmus, kad gautumėte visus nuosekliuosius prievadus
Microsoft.VisualBasic.Devices.Computer pc = naujas Microsoft.VisualBasic.Devices.Computer();
foreach (eilutė s pc. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Tada rodomas nuosekliojo prievado pavadinimas comName naudojamas operacijos objektui gauti. Galite atidaryti šį nuoseklųjį prievadą:

System.IO.Ports.SerialPort com = naujas System.IO.Ports.SerialPort(comName);
com. Atidaryti ();

Tada duomenis galima įrašyti į nuoseklųjį prievadą

Duomenų siuntimas į nuoseklųjį prievadą:
com. WriteLine(this.textBox1.Text);
Taip pat galima rašyti baitų masyvus
com. Rašyti(bArray,0,5); Tai reiškia 5 baitus, prasidedančius nuo 0, kurie rašo baitų masyvą bArray

Duomenys taip pat gali būti priimami:
com. ReadLine()
Taip pat galima skaityti baitus
com. ReadByte();


Galiausiai jis uždarytas:
com. Uždaryti ();


Taip pat konvertuokite šešioliktainę eilutę į baitą
baitas b = Convert.ToByte("1A",16); C# nuoseklusis prievadas siunčia duomenis
Premijos taškai: 5 - Sprendimo laikas: 2009-10-19 21:15
Noriu nusiųsti šešiakampę komandą į nuoseklųjį prievadą, komandų eilutė yra: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Kaip galiu konvertuoti aukščiau pateiktą eilutę skaitmeniškai, kad kompiuterio nuoseklusis prievadas žinotų, kad mano išsiųsta eilutė yra šešioliktainė? Klausimo papildymas:
Kas turi tokį pavyzdinį kodą, prašau padėti man, aš esu aparatūros gamintojas, nesusipažinęs su programine įranga, tikiuosi, kad meistras gali pateikti išsamų kodą, ačiū! Klausėjas: daishuanqing - 1 lygio praktikantas
Geriausias atsakymas
Įtraukite nuorodą: Microsoft.VisualBasic (yra C# kodas, bet jį reikia nurodyti.) )

Pereikite SerialPortNames atlikdami šiuos veiksmus, kad gautumėte visus nuosekliuosius prievadus
Microsoft.VisualBasic.Devices.Computer pc = naujas Microsoft.VisualBasic.Devices.Computer();
foreach (eilutė s pc. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Tada rodomas nuosekliojo prievado pavadinimas comName naudojamas operacijos objektui gauti. Galite atidaryti šį nuoseklųjį prievadą:

System.IO.Ports.SerialPort com = naujas System.IO.Ports.SerialPort(comName);
com. Atidaryti ();

Tada duomenis galima įrašyti į nuoseklųjį prievadą

Duomenų siuntimas į nuoseklųjį prievadą:
com. WriteLine(this.textBox1.Text);
Taip pat galima rašyti baitų masyvus
com. Rašyti(bArray,0,5); Tai reiškia 5 baitus, prasidedančius nuo 0, kurie rašo baitų masyvą bArray

Duomenys taip pat gali būti priimami:
com. ReadLine()
Taip pat galima skaityti baitus
com. ReadByte();


Galiausiai jis uždarytas:
com. Uždaryti ();


Taip pat konvertuokite šešioliktainę eilutę į baitą
baitas b = Convert.ToByte("1A",16);




Ankstesnis:C# ASCII šifravimas ir iššifravimas
Kitą:"WebAPI" nepalaiko kelių domenų užklausų sprendimo būdų
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com