Chciałbym dodać czaszkę i skrzyżowane piszczele Unicode do mojego monitu powłoki (konkretnie „CZASZKA I KRZYŻOWCE” (U + 2620)), ale nie mogę rozgryźć magicznej inkantacji, która sprawiłaby, że echo wyplułoby ją, lub jakiekolwiek inne, 4-cyfrowy znak Unicode. Dwucyfrowe są łatwe. Na przykład echo -e "\ x55",.
Oprócz poniższych odpowiedzi należy zauważyć, że oczywiście twój terminal musi obsługiwać Unicode, aby wynik był zgodny z oczekiwaniami. gnome-terminal robi to dobrze, ale niekoniecznie jest domyślnie włączony.
W aplikacji terminalowej systemu macOS przejdź do Preferencje-> Kodowania i wybierz Unicode (UTF-8).
printf "\\u007C\\u001C"
.
gnome-terminal
, echo -e '\ufc'
nie wywołuje u, nawet w postaci zestawu do kodowania UTF-8. Jednak np. urxvt
Drukuje np. printf "\\ub07C\\ub01C"
Zgodnie z oczekiwaniami (bez znaku lub ramki).
bash
tag jest tak przydatną wskazówką? Czy różne terminale są wspólne w CJK lub…?
"\x7F"
ustawień regionalnych UTF-8 (którebash
znacznik sugeruje, że masz )… wzorce reprezentowane przez pojedynczy bajt nigdy nie są w zakresie\x80-\xFF
. Ten zakres jest nielegalny w jednobajtowych znakach UTF-8. np. wartość Unicode Codepoint wynoszącaU+0080
(tj.\x80
) w rzeczywistości wynosi 2 bajty w UTF-8 ..\xC2\x80
..