Перевод строки в шестнадцатеричном коде в ascii на C#
Этот код преобразует шестнадцатеричную строку в ASCII, вы можете скопировать и вставить ее в класс и использовать без создания экземпляров. И по традиции начнем с основ, что такое ascii и hex. HEX система (сокращенно «шестнадцатеричная») использует в качестве основания (основания) число 16. В системе счисления с основанием 16 используется 16 символов. Это 10 десятичных цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) и первые шесть букв английского алфавита (A, B, C, D, E, F). Буквы используются из-за необходимости представлять значения 10, 11, 12, 13, 14 и 15 каждое в одном символе. Шестнадцатеричный формат используется в математике и информационных технологиях как более удобный способ представления двоичных чисел. Каждая шестнадцатеричная цифра представляет четыре двоичных цифры; следовательно, hex — это язык для записи двоичных файлов в сокращенной форме. Четыре двоичных цифры (также называемые полубайтами) составляют полбайта. Это означает, что один байт может содержать двоичные значения от 0000 0000 до 1111 1111. В шестнадцатеричном формате они могут быть представлены более удобным образом в диапазоне от 00 до FF. В программировании HTML цвета могут быть представлены шестизначным шестнадцатеричным числом: FFFFFF представляет белый цвет, а 000000 — черный. ASCII (Американский стандартный код обмена информацией) — один из наиболее распространенных стандартов кодировки символов. Первоначально разработанный на основе телеграфных кодов, ASCII в настоящее время широко используется в электронной связи для передачи текста. Поскольку компьютеры понимают только числа, код ASCII представляет текст (символы) с разными числами. Именно так компьютер «понимает» и показывает текст. Исходный ASCII основан на 128 символах. Это 26 букв английского алфавита (как в нижнем, так и в верхнем регистре); цифры от 0 до 9; и различные знаки препинания. В коде ASCII каждому из этих символов присвоено десятичное число от 0 до 127. Например, представление ASCII в верхнем регистре A равно 65, а в нижнем регистре a — 97.
public static string HexToASCII(string hexString)
{
try
{
string ascii = string.Empty;
for (int i = 0; i < hexString.Length; i += 2)
{
String hs = string.Empty;
hs = hexString.Substring(i, 2);
uint decval = System.Convert.ToUInt32(hs, 16);
char character = System.Convert.ToChar(decval);
ascii += character;
}
return ascii;
}
catch (Exception ex) { Console.WriteLine(ex.Message); }
return string.Empty;
}
Примечание
2
= нет. символов hexString, используемых для представления символа ASCII.
System.Convert.ToUInt32(hs, 16)
= «преобразовать шестнадцатеричные подстроки по основанию 16 в беззнаковое 32-битное целое число»
Использование
string stringHex = "FF 10 00 03 00 02 04 00 02 00 1E";
Console.WriteLine($"Строка в HEX = {stringHex}");
Console.WriteLine($"Строка в ASCII = {ConvertHex(stringHex.Replace(" ", ""))}");
Результат
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.