Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 21268|Odpowiedź: 0

[Źródło] C# 2, 10, 16 i 16 oraz ich kody ASCII

[Skopiuj link]
Opublikowano 09.08.2016 10:22:40 | | |

C# 2, 10, 16 i 16 oraz ich kody ASCII
            --------//Konwersja różnych typów znaków w C# do komunikacji portów szeregowych------------


             Zrozumienie długości znaków
            string s = "Jestem żołnierzem 2";
            int len = s.długość; 6 postaci  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            Len = Sarr. Długość; 11 bajtów  
           
            Nie ma sensu przekształcać dziesiętnego na ciąg łańcuchowy, więc musi być konwertowany na odpowiadający mu kod ASCII
            int t1 = 81;
            Ciąg s1 = T1. ToString();
            Ta konwersja dziesiętna odpowiada znakom ASCII, aby mieć sens.
            s1 = ((char)t1). ToString();

            Szesnastkowo do struna: To nie ma sensu. To jest struna.
            intAB = 0x16;
            s1 = intAB.ToString();
            Znaki szesnastkowe do ASCII:
            byte babb = 0x45;
            string ass = (char)babb). ToString();

            Ciągi ASCII do liczb dziesiętnych
            string tr = "2Ab Liu";
            łańcuch d ="";
            dla (int i = 0; I < Tr. Długość; i++)
            {
                int ii = (int)Convert.ToChar(tłum. Podciąg(i, 1));
                d = d +" "+ ii.ToString();
            }

            Ciąg ASCII do liczby szesnastkowej
            struna s2 = "2Ab Liu";
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = nowy StringBuilder();
            foreach (bajt b w BA)
            {
                SB. Append(b.ToString("x") + " ");
            }

            Od szesnastka do dziesiętnego
            intA = 0x16; Podczas definiowania musi być 0x  
            struna strA = "16"; Struny mogą być bez  
            intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

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


            Od dziesiętnego do binarnego, szesnastkowy jest podobny
            int10 = 10;
            string str2 = Convert.ToString(int10,2);

            Od binarnego do dziesiętnego
            int10 = Convert.ToInt32(str2,2);







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

Jak c# serialport otrzymuje zestaw liczb szesnastkowych
Jak C# SerialPort otrzymuje zestaw liczb szesnastkowych i jak powinien być napisany program?
Najlepsza odpowiedź
System.IO.Ports.SerialPort sp = nowy System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   Rozmiar liczby szesnastkowej (powiedzmy 6 bajtów)
Bufor bajt[] = nowy bajt[rozmiar bufora];   Stwórz bufor
SP. Read(buffer, 0, buffersize);    Czytanie z COM1

Ten zestaw liczb szesteknastych jest przetwarzany  


Port szeregowy C# przesyła dane
Punkty nagrodowe: 5 - Czas rozwiązania: 2009-10-19 21:15
Chcę wysłać polecenie heksadecimalne na port szeregowy, ciąg poleceń to: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Jak mogę numerycznie przekonwertować powyższy ciąg danych, aby port szeregowy komputera wiedział, że wysłałem ciąg tekstu szesnastkowego? Dodatek do pytań:
Kto ma taki przykładowy kod, proszę o pomoc, jestem producentem sprzętu, nie znam się na oprogramowaniu, mam nadzieję, że mistrz poda szczegółowy kod, dziękuję! Pytający: daishuanqing – stażysta poziom 1
Najlepsza odpowiedź
Dodaj referencję: Microsoft.VisualBasic (to kod w C#, ale trzeba się do niego odwoływać). )

Przejrzyj nazwy portowe SerialPort, używając następujących połączeń, aby uzyskać wszystkie porty serialne
Microsoft.VisualBasic.Devices.Computer pc = nowy Microsoft.VisualBasic.Devices.Computer();
foreach (ciąg S w PC. Porty.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Następnie wyświetlana nazwa portu szeregowego comName służy do uzyskania obiektu operacji. Możesz otworzyć ten port szeregowy:

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

Dane mogą być następnie zapisywane na port szeregowy

Przesyłanie danych na port szeregowy:
com. WriteLine(this.textBox1.Text);
Tablice bajtowe mogą być również zapisywane
com. Write(bArray,0,5); Odnosi się do 5 bajtów zaczynających od 0, które zapisują tablicę bajtów bArray

Dane mogą być również akceptowane:
com. ReadLine()
Możliwe jest także odczytywanie bajtów
com. ReadByte();


Na koniec jest zamknięta:
com. Close();


Przekonwertuj też ciąg szesnastkowy na bajt
bajt b = Convert.ToByte("1A",16); Port szeregowy C# przesyła dane
Punkty nagrodowe: 5 - Czas rozwiązania: 2009-10-19 21:15
Chcę wysłać polecenie heksadecimalne na port szeregowy, ciąg poleceń to: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A"
Jak mogę numerycznie przekonwertować powyższy ciąg danych, aby port szeregowy komputera wiedział, że wysłałem ciąg tekstu szesnastkowego? Dodatek do pytań:
Kto ma taki przykładowy kod, proszę o pomoc, jestem producentem sprzętu, nie znam się na oprogramowaniu, mam nadzieję, że mistrz poda szczegółowy kod, dziękuję! Pytający: daishuanqing – stażysta poziom 1
Najlepsza odpowiedź
Dodaj referencję: Microsoft.VisualBasic (to kod w C#, ale trzeba się do niego odwoływać). )

Przejrzyj nazwy portowe SerialPort, używając następujących połączeń, aby uzyskać wszystkie porty serialne
Microsoft.VisualBasic.Devices.Computer pc = nowy Microsoft.VisualBasic.Devices.Computer();
foreach (ciąg S w PC. Porty.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Następnie wyświetlana nazwa portu szeregowego comName służy do uzyskania obiektu operacji. Możesz otworzyć ten port szeregowy:

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

Dane mogą być następnie zapisywane na port szeregowy

Przesyłanie danych na port szeregowy:
com. WriteLine(this.textBox1.Text);
Tablice bajtowe mogą być również zapisywane
com. Write(bArray,0,5); Odnosi się do 5 bajtów zaczynających od 0, które zapisują tablicę bajtów bArray

Dane mogą być również akceptowane:
com. ReadLine()
Możliwe jest także odczytywanie bajtów
com. ReadByte();


Na koniec jest zamknięta:
com. Close();


Przekonwertuj też ciąg szesnastkowy na bajt
bajt b = Convert.ToByte("1A",16);




Poprzedni:Szyfrowanie i deszyfrowanie ASCII w C#
Następny:WebAPI nie obsługuje obejść dla żądań międzydomenowych
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com