Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 21268|Jawab: 0

[Sumber] C# 2, 10, 16 dan 16 dan kode ASCII-nya

[Salin tautan]
Diposting pada 09/08/2016 10.22.40 | | |

C# 2, 10, 16 dan 16 dan kode ASCII-nya
            --------//Konversi berbagai jenis karakter di C# untuk komunikasi port serial------------


             Pemahaman panjang karakter
            string s = "Saya seorang prajurit 2";
            int len = s.Panjang; 6 karakter  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Panjang; 11 byte  
           
            Tidak masuk akal untuk mengonversi desimal ke string, dan harus dikonversi ke kode ASCII yang sesuai
            int t1 = 81;
            string s1 = t1. ToString();
            Konversi desimal ini sesuai dengan karakter ASCII agar masuk akal.
            s1 = ((char)t1). ToString();

            Heksadesimal ke string: Ini tidak masuk akal. Itu tostring.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Karakter heksadesimal ke ASCII:
            byte babb = 0x45;
            String Ass = ((char)babb). ToString();

            String ASCII ke angka desimal
            string tr = "2Ab Liu";
            string d = "";
            untuk (int i = 0; Saya < tr. Panjang; i++)
            {
                int ii = (int)Convert.ToChar(tr. Substring(i, 1));
                d = d +" "+ ii.ToString();
            }

            String ASCII ke bilangan heksadesimal
            string s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = StringBuilder(); baru
            foreach (byte b dalam ba)
            {
                sb. Lampir(b.ToString("x") + " ");
            }

            Heksadesimal ke desimal
            int intA = 0x16; Saat mendefinisikan, itu harus 0x  
            string strA = "16"; Senar bisa tanpa  
            int intA1 = Konversi.KepadaInt32(intA);
            int intA2 = Konversi.KepadaInt32(strA, 16);

            10 hingga 16
            strA = Konversi.KeString(intA2, 16);


            Desimal ke biner, heksadesimal serupa
            int int10 = 10;
            string str2 = Konversi.KeString(int10,2);

            Biner ke desimal
            int10 = Konversi.KepadaInt32(str2,2);







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

Bagaimana c# serialport menerima satu set angka heksadesimal
Bagaimana C# SerialPort menerima satu set angka heksadesimal, dan bagaimana program harus ditulis?
Jawaban terbaik
System.IO.Ports.SerialPort sp = System.IO.Ports.SerialPort baru("COM1");
ukuran buffer int = 6;   Ukuran bilangan heksadesimal (katakanlah 6Byte)
Byte[] buffer = Byte baru[buffersize];   Membuat buffer
sp. Baca (buffer, 0, ukuran buffer);    Baca dari COM1

Kumpulan bilangan heksadesimal ini diproses  


Port serial C# mengirim data
Poin hadiah: 5 - Waktu resolusi: 2009-10-19 21:15
Saya ingin mengirim perintah hex ke port serial, string perintahnya adalah: "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"
Bagaimana cara mengonversi string di atas secara numerik sehingga port serial komputer tahu bahwa string yang saya kirim adalah heksadesimal? Suplemen Pertanyaan:
Siapa yang memiliki kode sampel seperti itu, tolong bantu saya, saya produsen perangkat keras, tidak terbiasa dengan perangkat lunak, saya harap master dapat memberikan kode terperinci, terima kasih! Penanya: daishuanqing - Magang Level 1
Jawaban terbaik
Tambahkan referensi: Microsoft.VisualBasic (adalah kode C#, tetapi perlu direferensikan.) )

Melintasi SerialPortNames dengan yang berikut ini untuk mendapatkan semua port serial
Microsoft.VisualBasic.Devices.Computer pc = baru Microsoft.VisualBasic.Devices.Computer();
foreach (string s di pc. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Kemudian nama port serial comName yang ditampilkan digunakan untuk mendapatkan objek operasi. Anda dapat membuka port serial ini:

System.IO.Ports.SerialPort com = System.IO.Ports.SerialPort baru(comName);
com. Buka ();

Data kemudian dapat ditulis ke port serial

Mengirim data ke port serial:
com. WriteLine(this.textBox1.Text);
Array byte juga dapat ditulis
com. Tulis(bArray,0,5); Ini mengacu pada 5 byte mulai dari 0 yang menulis array byte bArray

Data juga dapat diterima:
com. Garis Baca()
Dimungkinkan juga untuk membaca byte
com. BacaByte();


Akhirnya, ditutup:
com. Tutup();


Juga, ubah string heksadesimal menjadi byte
byte b = Konversi.KeByte("1A",16); Port serial C# mengirim data
Poin hadiah: 5 - Waktu resolusi: 2009-10-19 21:15
Saya ingin mengirim perintah hex ke port serial, string perintahnya adalah: "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"
Bagaimana cara mengonversi string di atas secara numerik sehingga port serial komputer tahu bahwa string yang saya kirim adalah heksadesimal? Suplemen Pertanyaan:
Siapa yang memiliki kode sampel seperti itu, tolong bantu saya, saya produsen perangkat keras, tidak terbiasa dengan perangkat lunak, saya harap master dapat memberikan kode terperinci, terima kasih! Penanya: daishuanqing - Magang Level 1
Jawaban terbaik
Tambahkan referensi: Microsoft.VisualBasic (adalah kode C#, tetapi perlu direferensikan.) )

Melintasi SerialPortNames dengan yang berikut ini untuk mendapatkan semua port serial
Microsoft.VisualBasic.Devices.Computer pc = baru Microsoft.VisualBasic.Devices.Computer();
foreach (string s di pc. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Kemudian nama port serial comName yang ditampilkan digunakan untuk mendapatkan objek operasi. Anda dapat membuka port serial ini:

System.IO.Ports.SerialPort com = System.IO.Ports.SerialPort baru(comName);
com. Buka ();

Data kemudian dapat ditulis ke port serial

Mengirim data ke port serial:
com. WriteLine(this.textBox1.Text);
Array byte juga dapat ditulis
com. Tulis(bArray,0,5); Ini mengacu pada 5 byte mulai dari 0 yang menulis array byte bArray

Data juga dapat diterima:
com. Garis Baca()
Dimungkinkan juga untuk membaca byte
com. BacaByte();


Akhirnya, ditutup:
com. Tutup();


Juga, ubah string heksadesimal menjadi byte
byte b = Konversi.KeByte("1A",16);




Mantan:Enkripsi dan dekripsi ASCII C#
Depan:WebAPI tidak mendukung solusi untuk permintaan lintas domain
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com