escape-последовательность "\ u" между 80 и более - PullRequest
0 голосов
/ 05 марта 2019

Как можно распечатать символ с юникодом между 0x80 и 0xFF , используя escape-последовательность \ u в консоли linux?
Например,

[root @ ...] # setfont /lib/kbd/consolefonts/cp850-8x16.psfu.gz

Сначала я установил в cp850-8x16.psfu.gz знак авторского права, чей юникод равен 0xa9.

[root @ ...] # echo -e '\ u212b'
Å

Вывод правильный, но Юникод больше 0xFF

[root @ ...] # echo -e '\ u00a9'
10
[root @ ...] # echo -e '\ ua9'

Вывод неправильный

[root @ ...] # echo -e '\ xC2 \ xa9'
©

Если я конвертирую Unicode в UTF-8, он работает
Rq: 0xA9 = 0b 10101001 => (utf-8) 0b110 00010 0b10 101001 => 0xC2 0xA9)
Есть ли решение использовать напрямую a9 с \ u (т.е. без выполнения двоичной арифметики для получения кода utf-8 и использования \ x)?

1 Ответ

0 голосов
/ 05 марта 2019

Работает с версией bash 4.4.18, но не с моей предыдущей версией (4.2.46).После некоторых проверок он работает с bash версии 4.3.0, но не с 4.2.53.

...