Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 21268|Odpověď: 0

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

[Kopírovat odkaz]
Zveřejněno 09.08.2016 10:22:40 | | |

C# 2, 10, 16 a 16 a jejich ASCII kódy
            --------//Převod různých typů znaků v C# pro komunikaci se sériovými porty------------


             Porozumění délce znaků
            string s = "Jsem voják 2";
            int len = s.délka; 6 postav  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Délka; 11 bajtů  
           
            Nemá smysl převádět desetinnou frekvenci na řetězec a musí být převedena do odpovídajícího ASCII kódu
            int t1 = 81;
            Řetězec s1 = T1. ToString();
            Tento desetinný převod odpovídá ASCII znacicím pro smysl.
            s1 = (char)t1). ToString();

            Hexadecimální na řetězec: To nedává smysl. Je to tostring.
            intAB = 0x16;
            s1 = intAB.ToString();
            Znaky hexadecimálního až ASCII:
            byte babb = 0x45;
            string ass = ((char)babb). ToString();

            ASCII řetězce na desetinná čísla
            struna tr = "2Ab Liu";
            struna d ="";
            pro (int i = 0; Já < TR. Délka; i++)
            {
                int ii = (int)Convert.ToChar(tr. Podřetězec(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII řetězec na hexadecimální čí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") + " ");
            }

            Od šestnáctky do desetinné fáze
            intA = 0x16; Při definování musí být 0x  
            struna strA = "16"; Struny mohou být bez  
            intA1 = Konvert.ToInt32(intA);
            int intA2 = Konvertovat.ToInt32(strA, 16);

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


            Od desetinné po binární je hexadecimální podobná
            int10 = 10;
            string str2 = Convert.ToString(int10,2);

            Binární až desetinný
            int10 = Convert.ToInt32(str2,2);







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

Jak c# serialport přijímá sadu hexadecimálních čísel
Jak C# SerialPort přijímá sadu hexadecimálních čísel a jak by měl být program napsán?
Nejlepší odpověď
System.IO.Ports.SerialPort sp = nový System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   Velikost šestnáctkového čísla (řekněme 6 bajtů)
Byte[] buffer = nový Byte[buffersize];   Vytvořte buffer
SP. Read(buffer, 0, buffersize);    Čtěte z COM1

Tato sada šestnáctkových čísel je zpracovávána  


Sériový port v C# odesílá data
Odměny: 5 - Čas vyřešení: 2009-10-19 21:15
Chci poslat hexadecimabilní příkaz na sériový port, řetězec příkazů je: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Jak mohu výše uvedený řetězec převést číselně, aby sériový port počítače věděl, že řetězec, který jsem poslal, je hexadecimální? Doplněk k otázce:
Kdo má takový vzorový kód, prosím, pomozte mi, jsem výrobce hardwaru, neznám software, doufám, že master poskytne podrobný kód, děkuji! Tazající: daishuanqing - Stážista úroveň 1
Nejlepší odpověď
Přidejte odkaz: Microsoft.VisualBasic (je to kód v C#, ale je potřeba ho uvádět.) )

Projděte SerialPortNames s následujícími způsoby, abyste získali všechny sériové porty
Microsoft.VisualBasic.Devices.Computer pc = nový Microsoft.VisualBasic.Devices.Computer();
foreach (řetězec s v PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Poté se k získání operačního objektu použije zobrazené sériové portové jméno comName. Tento sériový port můžete otevřít:

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

Data pak lze zapsat na sériový port

Odesílání dat na sériový port:
com. WriteLine(this.textBox1.Text);
bajtová pole lze také zapisovat
com. Write(bArray,0,5); Označuje 5 bajtů začínajících od 0, které zapisují bajtové pole bArray

Data lze také přijímat:
com. ReadLine()
Je také možné číst bajty
com. ReadByte();


Nakonec je uzavřený:
com. Close();


Také převeďte šestnáctkový řetězec na bajt
byte b = Convert.ToByte("1A",16); Sériový port v C# odesílá data
Odměny: 5 - Čas vyřešení: 2009-10-19 21:15
Chci poslat hexadecimabilní příkaz na sériový port, řetězec příkazů je: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Jak mohu výše uvedený řetězec převést číselně, aby sériový port počítače věděl, že řetězec, který jsem poslal, je hexadecimální? Doplněk k otázce:
Kdo má takový vzorový kód, prosím, pomozte mi, jsem výrobce hardwaru, neznám software, doufám, že master poskytne podrobný kód, děkuji! Tazající: daishuanqing - Stážista úroveň 1
Nejlepší odpověď
Přidejte odkaz: Microsoft.VisualBasic (je to kód v C#, ale je potřeba ho uvádět.) )

Projděte SerialPortNames s následujícími způsoby, abyste získali všechny sériové porty
Microsoft.VisualBasic.Devices.Computer pc = nový Microsoft.VisualBasic.Devices.Computer();
foreach (řetězec s v PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Poté se k získání operačního objektu použije zobrazené sériové portové jméno comName. Tento sériový port můžete otevřít:

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

Data pak lze zapsat na sériový port

Odesílání dat na sériový port:
com. WriteLine(this.textBox1.Text);
bajtová pole lze také zapisovat
com. Write(bArray,0,5); Označuje 5 bajtů začínajících od 0, které zapisují bajtové pole bArray

Data lze také přijímat:
com. ReadLine()
Je také možné číst bajty
com. ReadByte();


Nakonec je uzavřený:
com. Close();


Také převeďte šestnáctkový řetězec na bajt
byte b = Convert.ToByte("1A",16);




Předchozí:C# ASCII šifrování a dešifrování
Další:WebAPI nepodporuje obcházení požadavků napříč doménami
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com