| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Работа с Unicode UTF-16 |
| Автор: Geniebal 16.7.2010, 08:40 |
| столкнулся с такой проблемой: у меня есть массив в hex-формате. Заранее известно что он содержит строку в UTF-16LE. Подскажите как привести это к человеческому виду? т.е. из UTF-16 к виду доступному для понимания пользователя. З.Ы. из hex'a в dec переводить надо? |
| Автор: Snowy 16.7.2010, 17:07 |
| Мало данных. Что ещё за массив в hex-формате? В дельфи нет такого понятия. И почему UTF-16 (WideString) вдруг стал непонятен для пользователя? |
| Автор: Geniebal 19.7.2010, 11:44 | ||
400000002800000000000000000006001000000018000000e2cc6e2d18b31446bc050c8de5616e1350000000800000000000180000000200680000001800000001000480480000005800000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f0112000102000000000005200000002002000001020000000000052000000020020000010200000000000520000000200
это есть hex-массив. по идее в нем храниться имя тома в UTF-16LE формате. Как из этого получить буквенно-символьный вариант понятный для пользователя? |
| Автор: Keeper89 19.7.2010, 12:23 |
| Ну как-то так: http://forum.vingrad.ru/forum/act-ST/f-84/t-155753.html |
| Автор: Snowy 19.7.2010, 12:29 |
| Из этого - никак. Это совсем не похоже на UTF-16, даже приблизительно. |
| Автор: Geniebal 19.7.2010, 13:11 | ||
Это дамп в 16-тиричном виде. А вот как его преобразовать к человеческому виду - это и есть вопрос? |
| Автор: Snowy 19.7.2010, 14:51 |
| Повторяю - никак. Данный набор байт не имеет никакого отношения к тексту. Не только UTF-16, а вообще ни к какому тексту. То есть говоря просто - это не текст. Ни в какой бы то ни было кодировке. Добавлено через 3 минуты и 44 секунды Текст в UTF-16LE выглядит вот так: 1C 04 30 04 3C 04 30 04 20 00 3C 04 4B 04 3B 04 30 04 20 00 40 04 30 04 3C 04 43 04 У тебя же сплошные нули - это вообще какой-то мусор. |
| Автор: Geniebal 21.7.2010, 16:44 | ||
Вот это точно utf-16. вопрос - как его дать проге (т.е. какой функции), чтоб мне вывела уже в нормальных знаках Добавлено @ 16:48 есть же функция UTF8Dencode а для UTF-16 есть что то подобное? |
| Автор: Snowy 22.7.2010, 11:20 | ||
А для UTF-16 есть знак :=
|
| Автор: Geniebal 26.10.2010, 11:11 |
| спасибо! |