|
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 14
|
|||||||||||
И снова кодировка09.11.2023, 09:48. Показов 686. Ответов 10
Хотелось бы уже разобраться в вопросе, насколько это вообще возможно. Лучше на конкретном примере.
Действующие лица и исполнители: Code::Blocks 20.03 wxWidgets 3.2 wxTreeCtrl JsonCpp Задача простая - загружать структуру из json в TreeCtrl, редактировать и сохранять обратно. Загружаем:
Если в Notepad++ вручную пишу кириллицей в TreeCtrl загружается так же как отображается в Notepad++ при переключении на кодировку ANSI - Магазин. Если в Notepad++ преобразовать в ANSI, загружается корректно. По логике нужно либо сохранять json в ANSI, либо открывать utf-8 преобразовывать в ANSI и "скармливать" TreeCtrl. Вопрос как это осуществлять практически. Про кодировки писали уже даже самые ленивые, но это либо общая информация, либо конкретные случаи в которых ничего полезного для себя я так и не нашел.
0
|
|||||||||||
| 09.11.2023, 09:48 | |
|
Ответы с готовыми решениями:
10
И снова кодировка Снова кодировка. |
|
фрилансер
6440 / 5634 / 1127
Регистрация: 11.10.2019
Сообщений: 14,980
|
||
| 09.11.2023, 10:11 | ||
|
LarryFlint,
в файле хранить в utf8 любая строка из файла через библу json загружается в std::string в кодировке utf8. Дальше по обстоятельствам - конвертируй в нужную кодировку. Перед записью в json так же - из любой кодировки конвертируешь в utf8, помещаешь в std::string , отправляешь в библу -> файл Добавлено через 2 минуты если дереву надо не так, то вставить тут перекодировку
0
|
||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|||||||
| 09.11.2023, 10:27 | |||||||
|
Не знаю как это в Code::Blocks делается, но если уж потребовалось честно работать с utf8, где не только кириллица может быть - я бы сделал юникодное приложение и конвертировать в юникод.
А по остальному Алексей1153 верное место указал для конвертации. Для обратной конвертации в UTF8 тоже надо место найти, вероятно где-то здесь:
Добавлено через 1 минуту Вам нужен код фнукции, конвертирующей между UTF8 и другими кодировками? или что?
0
|
|||||||
|
...
1910 / 1329 / 966
Регистрация: 12.02.2013
Сообщений: 2,172
|
||||||
| 09.11.2023, 10:29 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 14
|
||||
| 09.11.2023, 16:48 [ТС] | ||||
|
[/QUOTE]
Вот уважаемый anmartex вроде бы дело предлагает (пока не пробовал)
0
|
||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||||||||
| 09.11.2023, 17:50 | ||||||||
![]() А то wx, Code::Blocks, JSon А оказывается вопрос-то простой и конкретный ![]() Добавлено через 3 минуты https://docs.wxwidgets.org/lat... tring.html Public Member Functions --> Conversions
0
|
||||||||
|
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 14
|
|||||||
| 10.11.2023, 10:01 [ТС] | |||||||
|
Вроде как функция "utf8_str ()", константная, возвращает значение типа "wxScopedCharBuffer", или как? "const" там в начале что означает? wxScopedCharBuffer кто такой, чем знаменит? К примеру вот я получаю от TreeCtrl значение wxString, нужно его записать в Json::Value, Json::Value сохраняет файл в utf8, т.е. ему надо сконвертировать wxString в utf8
0
|
|||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||||||||
| 10.11.2023, 10:14 | ||||||||
|
Вы прочитали справку? что для вас там не понятно? что-то не понятно - задать уточняющий вопрос на форуме - дело нормальное. А ожидать, что вам кто-то всё разжует... ну эта, школа закончилась же. Взрослая жизнь, все дела. Добавлено через 6 минут Во я просто взял и загуглил "wxwidgets GetItemText" В списке нагугленного выбрал ссылку про wxTreeCtrl Class Reference (я рассказываю не для хвастовства, а вам подсказать алгоритм "как узнавать то, что я не знаю") В справке находим: virtual wxString GetItemText (const wxTreeItemId &item) const Returns the item label. More... Отлично, возвращает wxString, по моему сообщению выше мы уже видели, что у этого класса есть метод utf8_string() - он нам явно подходит, сразу std::string возвращает. Тогда по идее должно получиться так:
"C++ что означает const для возвращаемого из метода типа" Например, первая же ссылка в моём гугле ведут на этот форум. Надеюсь, там есть ответ (не читал) Ключевое слово const для возвращаемого значения из функции Ну и другие результаты поиска - тоже по делу (я бы написал ответ, но я сам его не очень точно знаю, сорри)
0
|
||||||||
|
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
|
||||||
| 10.11.2023, 14:32 | ||||||
|
const там, потому что Мейерс говаривал использовать const везде, где только можно. Если просто возвращать объект из метода, то иногда его можно использовать довольно необычным способом:
1
|
||||||
|
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 14
|
|||||||
| 10.11.2023, 15:07 [ТС] | |||||||
0
|
|||||||
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
|
| 10.11.2023, 15:21 | |
|
Это вполне нормальная запись для Json / XML
Вполне возможно, что JsonCpp иначе не умеет. Ну либо надо смотреть настройки JsonCpp, может там можно задать режим. В любом случае прочитаться такой Json должен корректно Добавлено через 2 минуты Вообще если вам надо записать простой Json статичной структуры - я бы просто сформировал его текст в программе - да и все, без всяких библиотек. Добавлено через 1 минуту Вот ответ прям на ваш вопрос. Опять же гугл и 4 минуты https://stackoverflow.com/ques... ed-unicode
0
|
|
| 10.11.2023, 15:21 | |
|
Помогаю со студенческими работами здесь
11
Снова кодировка. Опять и снова кодировка И снова кодировка в Debian lenny Снова хром, снова сапопроизвольно открывается, снова bkrfdf.xyz и казино Как сделать чтобы таймер дойдя до 0 стартовал снова и снова? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|