Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 21268|Yanıt: 0

[Kaynak] C# 2, 10, 16 ve 16 ve ASCII kodları

[Bağlantıyı kopyala]
Yayınlandı 9.08.2016 10:22:40 | | |

C# 2, 10, 16 ve 16 ve ASCII kodları
            --------//Seri port iletişimi için C# ile çeşitli karakter türlerinin dönüştürülmesi------------


             Karakter uzunluğunun anlaşılması
            string s = "Ben 2 askerim";
            int len = s. Uzunluk; 6 karakter  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Uzunluk; 11 bayt  
           
            Ondalık kelimeyi diziye dönüştürmek mantıklı değil ve bunun ilgili ASCII koduna dönüştürülmesi gerekiyor
            int t1 = 81;
            S1 dizisi = t1. ToString();
            Bu ondalık dönüşüm, anlamlı olması için ASCII karakterlerine karşılık gelir.
            s1 = ((char)t1). ToString();

            Onaltılık ile dizime: Bu mantıklı değil. Söylem.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Onaltılıktan ASCII karaktere:
            byte babb = 0x45;
            string ass = ((char)babb). ToString();

            ASCII dizilerinden ondalık sayılara
            string tr = "2Ab Liu";
            d dizisi ="";
            için (int i = 0; Ben < yorum. Uzunluk; i++)
            {
                int ii = (int)Convert.ToChar(tr. alt seni(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII dizisinden onaltılık sayıya
            s2 dizisi = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = yeni StringBuilder();
            foreach (ba'da B baytı)
            {
                SB. Ek(b.ToString("x") + " ");
            }

            Onaltılıktan ondalık ile onaltılık
            int intA = 0x16; Tanımlarken, 0x olmalı  
            strA dizisi = "16"; Teller olmadan da olabilir  
            int intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            10'dan 16'ya kadar
            strA = Dönüştür.Dizile(intA2, 16);


            ondalık ile ikili arasında onaltılık benzerlik
            int int10 = 10;
            string str2 = Convert.ToString(int10,2);

            İkili ile ondalık
            int10 = Convert.ToInt32(str2,2);







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

c# seri portu onaltılık sayılar kümesini nasıl alır?
C# SerialPort onaltılık sayılar kümesini nasıl alır ve program nasıl yazılmalıdır?
En iyi cevap
System.IO.Ports.SerialPort sp = yeni System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   Altılık sayının boyutu (diyelim ki 6Byte)
Bayt[] buffer = yeni Bayt[buffersize];   Bir tampon oluşturun
sp. Read(buffer, 0, buffersize);    COM1'den okundu

Bu onaltılık sayılar seti işlenir  


C# seri portu veri gönderir
Ödül puanları: 5 - Çözüm süresi: 2009-10-19 21:15
Seri porta bir altıgen komutu göndermek istiyorum, komut dizisi şöyle: "00 00 00 1B 54 59 59 54 00 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Yukarıdaki diziyi sayısal olarak nasıl dönüştürebilirim ki bilgisayar seri portu gönderdiğim dizinin onaltılık olduğunu bilsin? Soru Eki:
Böyle bir örnek kodu olan kişi, lütfen bana yardım edin, ben bir donanım üreticisiyim, yazılım bilgisi yok, umarım master detaylı bir kod verir, teşekkürler! Soru soran: daishuanqing - Stajyer Seviye 1
En iyi cevap
Bir referans ekleyin: Microsoft.VisualBasic (C# kodu, ancak referans alınması gerekiyor.) )

Tüm seri portları almak için aşağıdaki adımlarla SerialPortNames'i dolaşarak
Microsoft.VisualBasic.Devices.Computer pc = yeni Microsoft.VisualBasic.Devices.Computer();
foreach (PC'de S dizisi. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(lar);
}

Daha sonra gösterilen seri port adı comName işlem nesnesini elde etmek için kullanılır. Bu seri portu açabilirsiniz:

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

Veri daha sonra seri porta yazılabilir

Veri seri porta gönderiliyor:
com. WriteLine (this.textBox1.Text);
Bayt dizileri de yazılabilir
com. yaz(bArray,0,5); Bu, 0'dan başlayan 5 bayt bArray bayt dizisini yazan anlamına gelir

Veriler ayrıca kabul edilebilir:
com. ReadLine()
Baytları okumak da mümkündür
com. ReadByte();


Son olarak, kapalıdır:
com. Close();


Ayrıca, onaltılık diziyi bayta dönüştürün
byte b = Convert.ToByte("1A",16); C# seri portu veri gönderir
Ödül puanları: 5 - Çözüm süresi: 2009-10-19 21:15
Seri porta bir altıgen komutu göndermek istiyorum, komut dizisi şöyle: "00 00 00 1B 54 59 59 54 00 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Yukarıdaki diziyi sayısal olarak nasıl dönüştürebilirim ki bilgisayar seri portu gönderdiğim dizinin onaltılık olduğunu bilsin? Soru Eki:
Böyle bir örnek kodu olan kişi, lütfen bana yardım edin, ben bir donanım üreticisiyim, yazılım bilgisi yok, umarım master detaylı bir kod verir, teşekkürler! Soru soran: daishuanqing - Stajyer Seviye 1
En iyi cevap
Bir referans ekleyin: Microsoft.VisualBasic (C# kodu, ancak referans alınması gerekiyor.) )

Tüm seri portları almak için aşağıdaki adımlarla SerialPortNames'i dolaşarak
Microsoft.VisualBasic.Devices.Computer pc = yeni Microsoft.VisualBasic.Devices.Computer();
foreach (PC'de S dizisi. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(lar);
}

Daha sonra gösterilen seri port adı comName işlem nesnesini elde etmek için kullanılır. Bu seri portu açabilirsiniz:

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

Veri daha sonra seri porta yazılabilir

Veri seri porta gönderiliyor:
com. WriteLine (this.textBox1.Text);
Bayt dizileri de yazılabilir
com. yaz(bArray,0,5); Bu, 0'dan başlayan 5 bayt bArray bayt dizisini yazan anlamına gelir

Veriler ayrıca kabul edilebilir:
com. ReadLine()
Baytları okumak da mümkündür
com. ReadByte();


Son olarak, kapalıdır:
com. Close();


Ayrıca, onaltılık diziyi bayta dönüştürün
byte b = Convert.ToByte("1A",16);




Önceki:C# ASCII şifreleme ve şifre çözme
Önümüzdeki:WebAPI, alanlar arası istekler için çözümleri desteklemez
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com