170 похожих чатов

А что, разве в виндовом терминале нельзя utf-8 настроить? Вместо всех

этих костылей с CP1251

16 ответов

28 просмотров

Вроде, от windows 10 и ещё манифест может понадобиться.

Mikail-Bagishov Автор вопроса
Дмитрий 🎮
Вроде, от windows 10 и ещё манифест может понадоби...

Ну я бы в эту сторону копал короче, звучит как наиболее идеологически правильный путь.

1251 удобна тем, что она однобайтовая. А без костылей на разных версиях windows нет супер универсального способа

по идее можно кстати, но каков смысл, может он хочет, чтобы код работал правильно без доп настроек терминала

Забудь про UTF8 в с++. От лукавого оно.

Mikail-Bagishov Автор вопроса
floy.
по идее можно кстати, но каков смысл, может он хоч...

А, ну если чел хочет подстраиваться под какое-то странное окружение, то желаю ему удачи)

Mikail-Bagishov Автор вопроса

$ cat a.cpp #include <iostream> int main() { std::cout << "Привет, мир!" << std::endl; } $ g++ a.cpp $ ./a.out Привет, мир! На моем линуксе все работает 🤷‍♂️ Может все-таки дотюнить винду так же?)

Mikail Bagishov
$ cat a.cpp #include <iostream> int main() { ...

В windows и linux in и out работают в разном режиме.

Mikail Bagishov
$ cat a.cpp #include <iostream> int main() { ...

Он, конечно, дотюнить винду может, но что делать, если он захочет скинуть свою программу 100500 друзьям...

Mikail Bagishov
$ cat a.cpp #include <iostream> int main() { ...

Суть контейнера типа "строка" не в том, чтобы ее тупо в консоль вывести, а в том чтобы его (контейнер) всяко разно обрабатывать. С++ - это число дробилка. Для задач "принять и пробросить" масса других языков есть - питон, джава-скрипт, ets.. А с точки зрения обработки контейнера символов - Utf8-строка это контейнер с последовательным forward-доступом, а строка char, wchar, char16 тп - это контейнер с произвольным доступом. Почувствуйте разницу. Это как массив и forward-list. Фтопку.

Mikail-Bagishov Автор вопроса

> Utf8-строка это контейнер с последовательным forward-доступом, а строка char, wchar, char16 тп - это контейнер с произвольным доступом. Ну для ряда задач это не важное различие Для ряда задач потребуется поддержка многих разных языков, то есть без unicode-ных кодировок все равно никуда. (Впрочем может есть и другие кодировки с сопоставимым количеством символов; я о таких не слышал) А для еще ряда задач потребуются концепции вроде графем, для которых ни одна из общепринятых кодировок все равно не даст произвольный доступ. Поэтому серебряной пули все равно нет, а utf8 очень хочется продвигать как разумный дефолт. Уж явно лучше, чем однобайтовые кодировки, начисто урезающие способность к интернационализации.

Int Unsigned
Суть контейнера типа "строка" не в том, чтобы ее т...

А как utf8-строка может быть иметь последовательный доступ, если это всё тот же набор байт, но которые выводятся через фасет в терминал?

Mikail Bagishov
> Utf8-строка это контейнер с последовательным fo...

Да без вопросов. С++ великолепен тем, что для любой своей задачи Вы можете склепать своего бульдога.

Mikail-Bagishov Автор вопроса
Rekreker
А как utf8-строка может быть иметь последовательны...

Аргумент в том, что нет эффективной операции вида "получить n-ый символ"

От системы зависит

Mikail Bagishov
> Utf8-строка это контейнер с последовательным fo...

Нет даже разумного дефолта. Полно задач где utf8 ненужен и вреден

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта