|
|
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
|