Size: a a a

2021 May 05

EG

Emmanuel Goldstein in rust_offtopic
Python использует по умолчанию для всех файлов (включая sys.stdout) системную кодировку
источник

EG

Emmanuel Goldstein in rust_offtopic
И позволяет указать кастомную несколькими разными способами
источник

EG

Emmanuel Goldstein in rust_offtopic
Rust использует везде UTF-8, а для вывода на экран на лету перекодирует байтовый поток из UTF-8 в UTF-16
источник

EG

Emmanuel Goldstein in rust_offtopic
Без костылей в игрушечном языке под игрушечной системой не заработает даже hello world.
источник

r

red75prime in rust_offtopic
А поэтому isatty() и escape сиквенсы, если нужно таки их различать
источник

EG

Emmanuel Goldstein in rust_offtopic
В Rust не поможет. Ты без libc или подобной unsafe-магии в принципе в Rust на венде не сможешь выплюнуть невалидный юникод.
источник

EG

Emmanuel Goldstein in rust_offtopic
Потому что имплементация io::Write для STDOUT делает isatty за тебя и возвращает ошибку, если не может перекодировать UTF-8 в UTF-16 при выводе на терминал.
источник

С

Слава in rust_offtopic
На экране я могу координаты курсора указывать, это для начала
источник

r

red75prime in rust_offtopic
Вообще-то в *nix'ах тоже дремучее легаси с консолью. Все эти эмуляторы VT52, и т.п.
источник

EG

Emmanuel Goldstein in rust_offtopic
Какие сцуко координаты для курсора
источник

EG

Emmanuel Goldstein in rust_offtopic
Какие сцуко эмуляторы
источник

EG

Emmanuel Goldstein in rust_offtopic
Я говорю про самый низкий уровень
источник

CD

Constantine Drozdov in rust_offtopic
источник

EG

Emmanuel Goldstein in rust_offtopic
Который знает про файловый дескриптр/хендл и то, является ли он терминалом
источник

С

Слава in rust_offtopic
Интерфейс-то может и одинаковый, только stdout, stdin и stderr всё же задаются извне и всегда открыты, это особенные потоки
источник

П

Пух in rust_offtopic
-_-
источник

EG

Emmanuel Goldstein in rust_offtopic
Координаты для курсора это вообще escape-последовательности, они проблеме кодировки ортогональны абсолютно
источник

С

Слава in rust_offtopic
Сейчас здесь будет перепись зумеров, которые не делали своё подобие ncurses
источник

EG

Emmanuel Goldstein in rust_offtopic
> всё же задаются извне
Неправда.
> и всегда открыты
Неправда.
источник

CD

Constantine Drozdov in rust_offtopic
курсор это указатель мыши, в текстовом терминале это кареткой называется
источник