|
1 / 1 / 3
Регистрация: 03.04.2016
Сообщений: 51
|
||||||
Обработка utf-807.01.2018, 20:07. Показов 4529. Ответов 31
Метки нет (Все метки)
Здравствуйте. Для разминки черепа решил освоить работу с unicode в С
Для общего развития написал функцию split(). Но при проверке работоспособности столкнулся с проблемами. В некоторых случаях программа завершается с ошибкой.
0
|
||||||
| 07.01.2018, 20:07 | |
|
Ответы с готовыми решениями:
31
getBytes('UTF-16') даёт UTF-16LE или UTF-16BE? <globalization fileEncoding='utf-8' requestEncoding='utf-8' responseEncoding='utf-8' /> Конвертация из ASCII в UTF-32 или UTF-8 в UTF-32 |
|
322 / 170 / 24
Регистрация: 25.03.2012
Сообщений: 712
|
||||
| 11.01.2018, 19:58 | ||||
![]() Добавлено через 1 минуту ![]() А китайские буквы сколько занимают? И в какой кодировке: UTF-8 или всё таки UTF-32? ... или для тебя они "без разницы"?
0
|
||||
|
Почетный модератор
11561 / 4356 / 453
Регистрация: 12.06.2008
Сообщений: 12,458
|
||
| 12.01.2018, 00:07 | ||
|
0
|
||
| 12.01.2018, 04:28 | |
|
А сколько занимает эта эмодзи в UTF-8? *⚕️ (::FEMALE-DOCTOR:: - только маленькими, походу джика форума их не переваривает)
Добавлено через 9 минут Сории - не совсем понятно - я про это http://www.iemoji.com/view/emo... lth-worker
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,095
|
|||||
| 12.01.2018, 11:16 | |||||
|
0
|
|||||
| 12.01.2018, 17:29 | ||
|
Итого по ссылке 13 байт, а сам смайл является "спайкой" из "UTF-8 Character Count 4" При обработке текста эта группа должна обрабатывать целиком, иначе порвём смайлик и получим невесть что.
0
|
||
|
Почетный модератор
11561 / 4356 / 453
Регистрация: 12.06.2008
Сообщений: 12,458
|
||
| 12.01.2018, 18:33 | ||
|
0
|
||
| 12.01.2018, 20:45 | ||
|
Так что поддержка современного юникода - это головняк, и, я думаю, не только для C/C++... Добавлено через 9 минут Если уж эта "медичка" в "UTF-32 Hex 01F469, 200D, 2695, FE0F" занимает 9 байт, даже не 64бита..... Пора бы уж им определиться на UTF-128 и каждому придуманному символу/иероглифу свой код. Не по теме: Только к этому времени найдутся инопланетяне, у которых алфавит будет состоять из базовых 129 символознаков, которые в своей совокупности будут создавать символы, каждый со своим 15^129 значений/оттенков, из которых и будут создаваться слова...
0
|
||
| 14.01.2018, 07:53 | |
|
Я вот тут озадачился потренироваться с многобайтом и нарисовать человекоредактируемый парсер ini-файлов.
Есть конечно весьма годный https://github.com/ndevilla/iniparser но работает только с однобайтовым. Если ini в ASCII - проблем нет, если в UTF-8 - могут быть проблемы с национальными строками. А вот я хочу лопатить ini-файлы независимо от кодировки. Т.е. сделать так, что бы человек мог его редактировать и в линухе, и в винде. Если внутри либы проще файл сразу в wchar_t загнать, то в каком виде его хранить снаружи - виндо-пользователь не сможет его читать/редактировать utf-8, и наоборот. Ему придётся сначала использовать редактор умеющий нужную кодировку или конвертировать с помощью к-либо recode. Подскажите в какой кодировке лучше всего сохранять ini для любых ОСей, в том числе и MSDOS(ASCII)/древние_фри(KOI-8) Вообще, как быть???
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,095
|
|
| 14.01.2018, 09:31 | |
|
Самое универсальное - ASCII. Конечно, придется забыть о не-латинских символах. Либо портировать
iconv на целевую платформу и тогда использовать любую. Если забыть про всякую древность, лучше остановиться на UTF-8.
0
|
|
| 14.01.2018, 11:11 | |
|
В том-то и дело - в своей либе опционально хочу сохранять порядок и содержимое комментариев. Опять же - как использовать строковые переменные, значение которых может быть на любом языке.
Может плюнуть на это и работать только в текущей локали? Для ini - использовать utf-8, внутри либы сконвертировать в widechar и не париться с разбором...
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,095
|
|
| 14.01.2018, 11:58 | |
|
Смотря что вы хотите делать с этими переменными. Если не собираетесь менять или искать подстроки, можно и внутри программы хранить в UTF-8 (обычные Си-строки).
0
|
|
| 14.01.2018, 12:11 | |
|
Нет менять обязательно + добавление отсутствующих "дефолтных". Тупо читать ini нет никакого интереса - смысл сохранять настройки прог в человекоредактируемом виде, и при этом избежать жирного кода. Готовых-то библиотек море, хоть в xml? хоть классические conf.
Учитывая bison и пр - вообще просто, но посмотрев на реализацию простенького ini через парсеры bison и etcю ужаснулся объёму кода - овер 100Кб экзешника... Хочу написать мелкое и шустрое, минималку, но с возможностями. Тупо альтернативу представленного выше iniparser, но мельче (нафига мне секции, нафига поиск по хэшу и т.п. - без этого, но и что бы комменты при сохранении ini оставались, и с языками проблем небыло). Скорее всего откажусь от переноса ini из одной ОС в другую - буду использовать системную_текущую локаль с конвертацией в widechar внутри либы и обратным сохранением в локаль. Т.е. для определённой ОСи ini файл вручную человеком будет редактироваться на ура, но не в другой ОСи - там recode и пр конвертаторы.
0
|
|
| 14.01.2018, 12:11 | |
|
XmlSerializer.Serialize() как поменять кодировку с UTF-16 на UTF-8 Изменить кодировку из utf-8 без bom в просто utf-8 Как создать рабочий XML в UTF-8? У меня исправно создаётся Windows-1251, но с UTF-8 проблема Разные кодировки файлов (ASCII, UTF-8, UTF-16) Преобразование Unicode (UTF-16) в UTF-8 и обратно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|