Устройство ... принимает символы и символы ascii ...
ASCII обычно относится к набору кодов (то есть числовых значений c) для представления символов и символов.
Печатным / отображаемым символам (таким как прописные и строчные буквы алфавита Engli sh, знаки пунктуации и десятичные цифры) и управляющим кодам присваиваются уникальные значения.
Основа c набор кодов ASCII в диапазоне значений от нуля до 127, поэтому каждый код представлен в 7 битах.
ASCII был наиболее широко используемым базовым c кодовым набором для представления текста в компьютерных системах.
Языки программирования обычно генерируют текстовые строки с использованием кодового набора ASCII.
Выражение " ASCII-символ ... " обычно используется для описания или ссылки на значение цифры 1099 * для этого символа (то есть его кодовое значение ASCII), а не на некоторые символ или глиф.
IOW " ASCII-символ " по сути является сокращением для " ASCII-кода для символа ... ".
Приведенная выше строка должна интерпретироваться как означающая, что устройство использует коды ASCII.
Чтобы вычислить контрольную сумму, мне нужно сначала преобразовать каждый символ в BitArray.
ASCII - это не набор "символов и символов" .
ASCII - это набор чисел. Каждое число представляет (то есть сопоставлено) символ или символ. Такой набор чисел называется набором кодов.
ASCII является набором кодов.
Каждый код ASCII может быть представлен в 7 битах или меньше байта (то есть в восьми битах).
Поскольку каждый ASCII-код обычно хранится в байте, единицы измерения byte
и character
часто используются взаимозаменяемо, особенно когда речь идет о хранении текста.
Каждый символ в цифровом компьютере представлен числом, например, его кодом ASCII.
Идея, что этот символ на самом деле является "символом" , и его необходимо преобразовать в некоторый Неверный вид цифры c.
Цифровой компьютер может обрабатывать только числа. Если вы хотите представить символ (например, для текста), вы должны закодировать этот символ как число.
Но если я попробую это сделать на многосимвольном символе ascii, таком как STX или SYN ...
Подмножество кодов ASCII представляет непечатаемые символы, которые называются кодами управления.
Большинство функций этих кодов управления относятся к электромеханическим телетайпам, и бумажные удары и читатели. Некоторые из управляющих кодов были переназначены для терминала на основе ЭЛТ, или VDT.
Поскольку управляющие коды ASCII не могут быть напечатаны / отображаемы, нет необходимости представлять их как новый символ или глиф шириной в один столбец.
Следовательно, управляющие коды ASCII представлены двумя - или трехбуквенное имя, такое как STX или CR.
Несколько текстов управления часто используются в текстовых строках, таких как перевод строки, возврат каретки и табуляция. Эти управляющие коды предоставляются для печати (даже если они на самом деле не печатаются) при указании текстовых строк в некоторых языках программирования (таких как C escape-последовательности , например \n
, \r
, \t
).
В противном случае другие управляющие коды должны быть определены их кодом ASCII в виде числовой c escape-последовательности (например, \x02
для STX).
IOW STX или SYN не являются «многосимвольный символ ascii» .
Не существует такого понятия, как «многосимвольный символ ascii» .
Пока Я использую словарь для go из символа ASCII в Unicode
Есть ли способ получить желаемые результаты в C#?
Каждый символ / символ уже представлен числом, хранящимся в байте.
Нет необходимости в "словаре" или преобразовании из "символа" .
Вы можете продемонстрировать это себе, написав простую программу.
Присвойте текстовую строку массиву байтов.
Распечатайте массив байтов в виде текстовой строки.
Распечатайте массив байтов, но каждый байт в десятичном представлении.
Распечатывает массив байтов, но каждый байт в двоичном представлении.
Распечатывает массив байтов, но каждый байт в шестнадцатеричном представлении.
Таким образом, контрольная сумма может / должна быть рассчитана из символов / байтов сообщения (без перевода в словаре).