Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

With Bash, you can use printf with hex codes

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

example

$ printf 'x26'
&

However the Unicode example does not print as expected

$ printf 'u0026'
u0026

My Bash version

$ echo $BASH_VERSION
4.1.10(4)-release
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
1.1k views
Welcome To Ask or Share your Answers For Others

1 Answer

What version of bash are you using (echo $BASH_VERSION or bash --version)? The Unicode escapes work in bash 4.2, but not 3.2.48. I suspect support was added in bash 4.0.

Update: I can confirm it does not work in bash 4.1.2. This functionality appears to have been added in bash 4.2.

Update 2: From the release notes for bash 4.2:

d. $'...', echo, and printf understand uXXXX and UXXXXXXXX escape sequences.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...