打印unicode字符

时间:2013-04-15 17:25:03

标签: bash printf

使用Bash,您可以将printf与十六进制代码

一起使用
\xHH   byte with hexadecimal value HH (1 to 2 digits)
\uHHHH Unicode (ISO/IEC 10646) character with hex value HHHH (4 digits)

例如

$ printf '\x26'
&

但Unicode示例未按预期打印

$ printf '\u0026'
\u0026

My Bash版

$ echo $BASH_VERSION
4.1.10(4)-release

1 个答案:

答案 0 :(得分:7)

您使用的是什么版本的bashecho $BASH_VERSIONbash --version)? Unicode转义在bash 4.2中有效,但不在3.2.48中。我怀疑在bash 4.0中添加了支持。

更新:我可以确认它在bash 4.1.2中无效。此功能似乎已添加到bash 4.2。

更新2:来自release notes for bash 4.2

  

d。 $'...'echoprintf了解\uXXXX\UXXXXXXXX   序列。