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

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

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

16 ответов

24 просмотра

Вроде, от 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 ненужен и вреден

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Карта сайта