3 ms·
The easy way is to either restrict yourself to ASCII, or to output raw characters in whatever encoding your locale (LC_CTYPE, LANG, etc.) specifies. If you wan
by teddyh 2y ago
The easy way is to either restrict yourself to ASCII, or to output raw characters in whatever encoding your locale (LC_CTYPE, LANG, etc.) specifies. If you want to get really fancy with ancient terminals, some of them have, for instance, line drawing characters (and, yes, sometimes things like β) hidden behind special escape sequences, which you can, IIRC, look up in terminfo.
- Joker_vD 2y agoSo the "correct" way is not that easy, after all. On the other hand, ignoring ancient terminals and simply pretending everything is color-enabled, VT-220 compatible, UTF-8 aware terminal emulator works well enough™ almost everywhere, including recent versions of Windows (which IIRC don't even have terminfo; not that it'd help since the legacy Windows console uses ioctl()-like interface instead of the escape sequences) — and is actually easy.
- teddyh 2y agoOutputting UTF-8 to a UTF-8 locale is not easy? Most of this is automatically handled by appropriate libraries. I.e. I would expect python3 -c 'print("\N{GREEK SMALL LETTER BETA}")' to just work on any terminal, as Python does the right thing for you.