Про кодировки... навеяло
Запись от мама Стифлера размещена 22.09.2021 в 22:48
Показов 9498
Комментарии 25
Метки c
|
Слегка про кодировки... Так выглядит код, написанный в кодировке UTF-8. А моя IDE поддерживает только кодировку 1251. Поэтому в редакторе выглядит все очень печально
Теперь та же ерунда, но с другого бока А вот так выглядит код, написанный в кодировке 1251. Прямо красота, все красиво и понятно написано
Первым делом переключаю в строке#11(переключаю на кодировку 1251). Она нужна для вывода текста в строке#16. После строки#16 можно переключать на другую кодировку(UTF-8). Переключение делаю в строке#19, как раз перед строкой вывода текста. В итоге все получилось как надо.
| ||||||||||||||||||||||||||||||
Метки c
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 25
Комментарии
-
Запись от Croessmah размещена 22.09.2021 в 23:34
-
Запись от мама Стифлера размещена 22.09.2021 в 23:45
-
Это не ерунда. Главная ошибка была сделана ещё полвека назад, когда в СССР не стали создавать свои языки программирования (на русском языке естественно). А воспользовались готовым продуктом наших американских "друзей". Вот сейчас мы и пожинаем плоды того недальновидного решения.Запись от wer1 размещена 23.09.2021 в 07:54
-
Не создали потому что не могли.
В данном случае проблема скорее в Windows и скажем так в её "истории" "поддержке обратной совместимости" и прочим. Говоря иначе если бы не было бы всяких windows cp 12** кодировок а появился бы сразу юникод то проблемы бы не было бы.
Кстати для MSVC нужен BOM что бы она корректно распознала UTF-8Запись от Avazart размещена 23.09.2021 в 09:49
-
Наверное не могли... или денег не хватило - Всё на космос потратили
Сообщение от Avazart
И всё-таки надо было создать нечто Русское! И пусть Америка тратит деньги на поддержку английского языка.Запись от wer1 размещена 23.09.2021 в 12:30
-
Запись от ft4l размещена 23.09.2021 в 14:08
-
Запись от Avazart размещена 23.09.2021 в 20:10
-
Запись от Замабувараев размещена 25.09.2021 в 22:19
-
Добавлю свои "5 копеек" https://zelserg.livejournal.com/2117.htmlЗапись от zer0mail размещена 26.09.2021 в 09:14
-
Запись от Avazart размещена 27.09.2021 в 12:23
-
Запись от Замабувараев размещена 27.09.2021 в 14:19
-
Запись от мама Стифлера размещена 27.09.2021 в 17:30
-
Запись от Замабувараев размещена 27.09.2021 в 17:34
-
Запись от мама Стифлера размещена 27.09.2021 в 18:35
-
Если исходники в utf-8 то предлагаете wstring каждый раз переконвертировать в wstring?
Что делать с парсингом int, float как это обычно делается через std::cin ? Делать вперемешку с ReadConsoleW ?
Обычно все сводится к отказу от кириллицы и все на английском или отказ от консольного приложения в пользу GUI.Запись от Avazart размещена 27.09.2021 в 20:00
-
0. Просто ставьте перед литералами L.
1. В какой кодировке ваши исходники — на екзешник это не влияет.
2. Очевидно, что ваша библиотека std::cin не работает с юникодом, иначе бы не существовало этой темы. Я не понимаю зачем нужно пользоваться библиотекой которая не работает.
3. Функция ReadConsoleW работает с юникодом. Вам не составит большого труда преобразовать возвращённую юникодную строку в число какой‐нибудь функцией _wtoi или её аналогом.
4. А это вообще бред из той оперы где «все профессиональные программисты разговаривают только на английском языке».Запись от Замабувараев размещена 27.09.2021 в 20:18
-
Куда поставить? Если у меня utf-8 и все в std::string ?
Т.е. есть разница между utf-8 и utf-16 и std::string и std::wstring
Для сравнения стоит попробовать Linux где такая проблема как с windows не чувствуется даже.
Стоит уточнять она не работает под виндос. И не моя а вообще наша ...
И Вас ни разу не смущает такая убогость?
Это простой расчет можно написать ПО на английском и оно будет с нормальным поддерживаемым читаемым кодом и работать будет предсказуемо или же выпендрится и сделать на русском но с дикими костылями и плохо пахнущим кодом.
И стоит учитывать что это приложение будет при это консольным, т.е. изначально не на обычных пользователей.
Хотя опять же в python эта проблема тоже решается очень просто в отличии от С++.Запись от Avazart размещена 27.09.2021 в 20:25
-
Всё решаемо, более-менее )
Сообщение от мама Стифлера
кроме того, что автоматически отличить одну однобайтную кодировку от другой практически невозможно,
в некоторых случаях .)
Но совсем отказываться от однобайтных тоже не вариант.
Просто нужно вместе с текстами хранить мета-информацию типа кодировка такая-то язык такой-то...
С ЯП похожая проблема, например файл с расширением .inc ) я так и не понимаю на каких ЯП может содержать текст ))
и в каких кодировках тоже.Запись от ft4l размещена 27.09.2021 в 21:40
-
Запись от Avazart размещена 28.09.2021 в 12:45
-
В виндовс ? )) там локали такой даже нет
Сообщение от Avazart
Как-бы да , там ресурсы это rc.exe c флагом -c65001 собирает в двух-байтный юникод,
для всего , не только собираемого с -DUNICODE,
В Richedit вообще можно выводить попеременно в куче кодировок , только переключаясь на их использование.
...
Но я-бы не сказал что любое в utf8 можно смело использовать в любых местах ) если нет такой локали
Не знаю завезли-ли в win-10 ))Запись от ft4l размещена 28.09.2021 в 13:28





