|
0 / 0 / 0
Регистрация: 25.07.2020
Сообщений: 150
|
|
Unicode25.07.2020, 20:14. Показов 3407. Ответов 36
Метки нет (Все метки)
Нужна функция которая переобразует строку, в юникод строку, что бы все символы из той строки были в юникод символы
0
|
|
| 25.07.2020, 20:14 | |
|
Ответы с готовыми решениями:
36
ANSI и UNICODE |
|
0 / 0 / 0
Регистрация: 25.07.2020
Сообщений: 150
|
|
| 25.07.2020, 20:29 [ТС] | |
|
Croessmah, ну обычная utf8
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
|
|
| 26.07.2020, 10:49 | |
|
Так utf-8 это и есть юникод. Возможно, вы хотите перевести в другое юникодное представление, utf-32, тогда посмотрите на
mbstowcs
0
|
|
|
0 / 0 / 0
Регистрация: 25.07.2020
Сообщений: 150
|
|
| 26.07.2020, 11:13 [ТС] | |
|
COKPOWEHEU, честно сказать, мне нудно такая же функция как и на c# encoding.unicode.getstring. То же самое мне нужно и на c++
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
|
|
| 27.07.2020, 09:48 | |
|
Я не знаю что делает ваша encoding.unicode.getstring. Лучше опишите что хотите получить в итоге.
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||||||
| 28.07.2020, 01:04 | ||||||
0
|
||||||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
|
|||||||||||
| 28.07.2020, 10:39 | |||||||||||
|
Или так:
0
|
|||||||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 28.07.2020, 11:27 | ||
|
0
|
||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
|
|
| 28.07.2020, 14:24 | |
|
Учитывая, что utf-16 тоже многобайтная кодировка (один символ unicode кодируется одним или двумя "символами" utf-16, так же как 1-4 "символами" utf-8), боюсь, только через utf-32.
0
|
|
|
694 / 304 / 99
Регистрация: 04.07.2014
Сообщений: 851
|
|
| 28.07.2020, 14:56 | |
|
Самое простое
QString::fromUtf8, QString::toUtf8Теперь почему: Unicode меняется, в основном добавлением новых символов. Отображаемый символ может кодироваться не только несколькими unicode-символами, но и вообще разными последовательностями. Это требует постоянной поддержки, которую можно обеспечить или за счёт обновления рантайма (.Net) или обновления динамической библиотеки (ICU). И то и другое плохо ложиться на стандартную библиотеку С++ (например, как быть, если библиотека скомпилированна в MSVC, а программа в MinGW?). Как следствие, в мире C++ легче выбрать библиотеку, которая даст отличную поддержку unicode со всем эмодзями и прочей чепухой, чем использовать огрызок из стандартной библиотеки.
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||||||||||||
| 28.07.2020, 22:29 | |||||||||||||
0
|
|||||||||||||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
|
||
| 29.07.2020, 10:02 | ||
|
А то что винда не умеет отображать utf-32, так это решается стандартно: при чтении конвертируем из произвольного формата во внутренний (хоть в utf-8, хоть в utf-32, хоть в cp1251 доисторический), при выводе - обратно. А уж какой формат использовать для внутреннего представления - зависит от задачи. Для хранения константных строк достаточно обычного utf-8 (собственно, именно поэтому в линуксах, да и вебе, переход от ASCII к юникоду прошел практически безболезненно), если нужна небольшая обработка, можно и в wchar_t. Ну а если диапазон извращений над строками велик, придется и в недра реализации залезть.
0
|
||
|
53 / 31 / 13
Регистрация: 21.05.2017
Сообщений: 109
|
|||
| 29.07.2020, 11:11 | |||
|
Не по теме: Откуда пошел термин "многобайтовость" я не знаю, скорее всего, от кодировки UTF8, в которой code-unit представляет собой байт (точнее, октет). В свою очередь форма кодирования может быть представлена разными схемами кодирования (encoding schemes). Для примера, форма кодирования UTF-16 может быть представлена схемами кодирования UTF-16BE, UTF-16LE или UTF-16. Схема UTF-16 - это либо UTF-16BE, либо UTF-16LE, в зависимости от значения initial signature. Такая схема кодирования в текстовых редакторах, обычно, обозначается как UTF16 with BOM. При этом initial signature не входит в состав текста, в отличии от UTF-16BE и UTF-16LE. При этом Unicode явно говорит о том, что character может состоять из нескольких coded character. Также имеются combining characters, которые комбинируются с предыдущим non-combining символом. Но это уже не имеет никакого отношения к формам представления code-point'ов, т.е. к кодировкам. Здесь речь идет уже о формах нормализации (normalization forms), которые и определяют как интерпретировать последовательность при наличии нескольких альтернативных представлений. Unicode описывает четыре формы нормализации: Normalization Form D (NFD) Normalization Form C (NFC) Normalization Form KD (NFKD) Normalization Form KC (NFKC) Если хотите, можете разобраться с ними, но это уже материал для новой статьи.
0
|
|||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 29.07.2020, 13:14 | ||
|
0
|
||
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,910
|
|
| 29.07.2020, 14:38 | |
|
Renji, очевидно, имелось в виду претензия к слову "многобайтная", когда речь шла о многосимвольном хранении, когда один символ занимает несколько ячеек. Хотя формально и "многобайтная" тоже не ошибка, ведь 4 байта wchar_t это тоже "много байтов". "Многосимвольная кодировка" тоже звучит так себе, но более вменяемого термина я не знаю. Да и не вижу смысла, ведь и "многобайтная" всем понятна, пусть и не совсем точна.
0
|
|
|
|
|
| 29.07.2020, 16:41 | |
|
Если говорить проще в utf8 один символ может занимать как один байт так и несколько в зависимости от того какой это символ. Например латинский символ будет занимать одни байт, а кириллический - два, какой нибудь азиатский иероглиф или спецсимвол до 4 байт. "Плавающая" длина символа позволяет экономить память но лишает возможности быстро обращаться к тому или иному символу по индексу. Так что приходится анализировать биты в байте и по маске определять есть ли "продолжение".
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 29.07.2020, 20:21 | ||
|
0
|
||
|
53 / 31 / 13
Регистрация: 21.05.2017
Сообщений: 109
|
||||
| 29.07.2020, 20:52 | ||||
![]() И именно UTF-32 всегда имеет только один code-unit.
И явно задана "ширина" code-unit'ов, что дает возможность стандартизированного кодирования на системах с невосьмибитным байтом. Задача "кодировки" дать последовательность code-point'ов. Всё. На этом она заканчивается.
0
|
||||
| 29.07.2020, 20:52 | |
|
Помогаю со студенческими работами здесь
20
ANSI to Unicode ANSI to Unicode Unicode символы Преобразование в Unicode From UTF-8 to UNICODE Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|