Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 21268|Ответ: 0

[Источник] C# 2, 10, 16 и 16 и их ASCII-коды

[Скопировать ссылку]
Опубликовано 09.08.2016 10:22:40 | | |

C# 2, 10, 16 и 16 и их ASCII-коды
            --------//Преобразование различных типов символов на C# для связи с последовательными портами------------


             Понимание длины символа
            string s = «Я — солдат из 2»;
            int len = s.Длина; 6 персонажей  
            byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
            len = sarr. Длина; 11 байт  
           
            Нет смысла преобразовывать десятичную в строку, и его необходимо преобразовать в соответствующий ASCII-код
            int t1 = 81;
            Строка s1 = t1. ToString();
            Это десятичное преобразование соответствует ASCII-символам, чтобы было понятно.
            s1 = (((char)t1). ToString();

            Шестнадцатеричное до струнного: это не имеет смысла. Это тострун.
            int intAB = 0x16;
            s1 = intAB.ToString();
            Шестеричное по ASCII-символам:
            byte babb = 0x45;
            String ass = (((Чар)Бабб). ToString();

            ASCII-строки в десятичные числа
            string tr = «2Ab Liu»;
            строка d ="";
            для (int i = 0; Я < TR. Длина; i++)
            {
                int ii = (int)Convert.ToChar(tr. Substring(i, 1));
                d = d +" "+ ii.ToString();
            }

            ASCII string to hexadecimal number
            string s2 = «2Ab Liu»;
            byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
            StringBuilder sb = новый StringBuilder();
            Foreach (байт B в BA)
            {
                SB. Append(b.ToString("x") + "");
            }

            От шестнадцатеричного к десятичному
            int intA = 0x16; При определении он должен быть 0x  
            струна strA = «16»; Струны могут быть без  
            int intA1 = Convert.ToInt32(intA);
            int intA2 = Convert.ToInt32(strA, 16);

            С 10 до 16 лет
            strA = Convert.ToString(intA2, 16);


            От десятичного к двойному — шестнадцатеричный — похож
            int int10 = 10;
            строка str2 = Convert.ToString(int10,2);

            От двоичной к десятичной
            int10 = Convert.ToInt32(str2,2);







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

Как сериальный порт C# получает набор шестнадцатеричных чисел
Как C# SerialPort получает набор шестнадцатеричных чисел и как следует писать программу?
Лучший ответ
System.IO.Ports.SerialPort sp = новый System.IO.Ports.SerialPort("COM1");
int buffersize = 6;   Размер шестнадцатеричного числа (скажем, 6 байт)
Byte[] buffer = новый Byte[buffersize];   Создайте буфер
sp. Read(buffer, 0, buffersize);    Читайте из COM1

Этот набор шестнадцатеричных чисел обрабатывается  


Последовательный порт C# отправляет данные
Очки за награды: 5 - Время разрешения: 2009-10-19 21:15
Я хочу отправить шестнадцатеричную команду на последовательный порт, командная строка звучит так: "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"
Как я могу преобразовать вышеуказанную строку в числовом порядке, чтобы последовательный порт компьютера знал, что отправленная мной строка шестеричной? Дополнение к вопросу:
У кого есть такой пример кода, пожалуйста, помогите, я производитель оборудования, не знаком с программным обеспечением, надеюсь, мастер сможет дать подробный код, спасибо! Вопрос: дайшуаньцин — стажёр 1 уровня
Лучший ответ
Добавьте ссылку: Microsoft.VisualBasic (это код на C#, но на него нужно ссылаться). )

Пройдите SerialPortNames следующим образом, чтобы получить все последовательные порты
Microsoft.VisualBasic.Devices.Computer pc = новый Microsoft.VisualBasic.Devices.Computer();
foreach (строка s в PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Затем отображаемое последовательное имя порта comName используется для получения объекта операции. Вы можете открыть этот последовательный порт:

System.IO.Ports.SerialPort com = новый System.IO.Ports.SerialPort(comName);
com. Open();

Затем данные могут быть записаны на последовательный порт

Передача данных на последовательный порт:
com. WriteLine(this.textBox1.Text);
Также можно записывать байтовые массивы
com. Write(bArray,0,5); Он относится к 5 байтам, начинающимся с 0, которые записывают массив байтов bArray

Данные также могут быть приняты:
com. ReadLine()
Также возможно читать байты
com. ReadByte();


В конце концов, она закрывается:
com. Close();


Также преобразите шестнадцатеричную строку в байт
байт b = Convert.ToByte("1A",16); Последовательный порт C# отправляет данные
Очки за награды: 5 - Время разрешения: 2009-10-19 21:15
Я хочу отправить шестнадцатеричную команду на последовательный порт, командная строка звучит так: "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"
Как я могу преобразовать вышеуказанную строку в числовом порядке, чтобы последовательный порт компьютера знал, что отправленная мной строка шестеричной? Дополнение к вопросу:
У кого есть такой пример кода, пожалуйста, помогите, я производитель оборудования, не знаком с программным обеспечением, надеюсь, мастер сможет дать подробный код, спасибо! Вопрос: дайшуаньцин — стажёр 1 уровня
Лучший ответ
Добавьте ссылку: Microsoft.VisualBasic (это код на C#, но на него нужно ссылаться). )

Пройдите SerialPortNames следующим образом, чтобы получить все последовательные порты
Microsoft.VisualBasic.Devices.Computer pc = новый Microsoft.VisualBasic.Devices.Computer();
foreach (строка s в PC. Ports.SerialPortNames)
{
    this.comboBox1.Items.Add(s);
}

Затем отображаемое последовательное имя порта comName используется для получения объекта операции. Вы можете открыть этот последовательный порт:

System.IO.Ports.SerialPort com = новый System.IO.Ports.SerialPort(comName);
com. Open();

Затем данные могут быть записаны на последовательный порт

Передача данных на последовательный порт:
com. WriteLine(this.textBox1.Text);
Также можно записывать байтовые массивы
com. Write(bArray,0,5); Он относится к 5 байтам, начинающимся с 0, которые записывают массив байтов bArray

Данные также могут быть приняты:
com. ReadLine()
Также возможно читать байты
com. ReadByte();


В конце концов, она закрывается:
com. Close();


Также преобразите шестнадцатеричную строку в байт
байт b = Convert.ToByte("1A",16);




Предыдущий:Шифрование и расшифровка на основе C# ASCII
Следующий:WebAPI не поддерживает обходные решения для междоменных запросов
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com