HEX в строковом представлении (кириллица) - C#
Формулировка задачи:
не всё так просто
украденные из интернета алгоритмы не работают
онлайн конвертеры тоже...
это перехваченная СМС
на телефон пришла в нормальном виде - у меня:
выводит кракозябры при любой кодировке
при UTF8 цифры нормально конвертируются, русский текст нет (совпадает только количество букв)
240422043504410442043e0432043e043500200441043e043e043104490435043d04380435
"Тестовое сообщение"
ко мне -$"5AB>2>5 A>>1I5=85
в программе на Qt делают так (говорят работает):sms.data=QString::fromUtf8(QByteArray::fromHex(hex.toByteArray()));
asciidata = data.ToString(); var raw = new byte[asciidata.Length / 2]; for (int i = 0, j = 0; i < asciidata.Length; i+=2, j++) raw[j] = Convert.ToByte(asciidata.Substring(i, 2), 16); asciidata = Encoding.GetEncoding(1251).GetString(raw);
!
нужно получить русские слова любым способом - может есть ещё способы для обработки hex, или можно Qt к проекту подцепить и вызвать QByteArray::fromHex()!
при юникоде декодирует так -
ФТестово5Рсообщени�
Решение задачи: «HEX в строковом представлении (кириллица)»
textual
Листинг программы
Encoding.GetEncoding("utf-16be").GetString(raw, 1, raw[0]);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д