如何通过在Linux控制台中使用\ u转义序列来在 0x80和0xFF 之间使用unicode打印字符?
例如,
[root @ ...]#setfont /lib/kbd/consolefonts/cp850-8x16.psfu.gz
首先,我将cp850-8x16.psfu.gz设置为具有Unicode为0xa9的版权字符。
[root @ ...]#echo -e'\ u212b'
Å
输出正确,但unicode大于0xFF
[root @ ...]#echo -e'\ u00a9'
�
[root @ ...]#echo -e'\ ua9'
�
输出不正确
[root @ ...]#echo -e'\ xC2 \ xa9'
©
如果我将unicode转换为utf-8,它会起作用
Rq:0xA9 = 0b 10101001 =>(utf-8)0b110 00010 0b10 101001 => 0xC2 0xA9)
有没有解决方案可以直接将\ 9与\ u一起使用(即,无需执行二进制算术来获取utf-8代码并使用\ x)?
答案 0 :(得分:0)
它适用于bash版本4.4.18,但不适用于我以前的版本(4.2.46)。 经过一些检查,它可以与bash 4.3.0版一起使用,但不能在4.2.53版中使用。