Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Старожил


Сообщения: 352
Благодарности: 193

Профиль | Отправить PM | Цитировать


MKN, Вся видимая сложность тут для ускорения и некоторых дополнительных плюшек. А так, тут нет никакой магии, только примитивный парсинг строки и знание, что с помощью плагина System можно преобразовывать код символа в символ и обратно.
Цикл в StrUnicodeUnescape_ очень простой, умеет обнаруживаь и преобразовывать последовательность \u#### в юникод-символ. Без каких либо дополнительных проверок на корректность читаемых данных. По хорошему, надо, как минимум, добавить проверку на то, что после '\u' есть ровно четыре символа, которые являются валидным hex-числом.

largelog.exe - это мой специальный тестовый UI большего размера (230% оригинала) для дебага через DetailPrint.
Три варианта демонстрируют возможность читать строку со стека и записывать результат в стек. Это может быть полезно в сочетании в вызовами WinAPI функций через System::Call.
Декодируются все коды формата \u####
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:21, 27-10-2023 | #2820