Shell/Bash 取得字体的Unicode Codepint

2019-12-04  本文已影响0人  千羽之城88

有个需求,比如”龍“字,想知道它的codepint多是多少?

方法一

echo 龍 | perl -C7 -ne 'for(split(//)){print sprintf("U+%04X", ord)." ".$_."\n"}'
echo 龍 | perl -C7 -ne 'for(split(//)){printf "U+%04X\n", ord}'
Command Description
-C7 输出Unicode
-ne 一行命令,提供隐式循环环境,如果没有n则需要加上while(<>)
for(cond){commad} for循环
split(//) 分割$_为一个一个字符
print 打印到屏幕
sprintf('%x') 转化后面内容,不直接打印到屏幕上
ord() 获取字符的ASCII码
$_ perl默认变量,这里只带stdin进来的字符
04 输出的字符长度

方法二

echo 龍 | \
iconv -f utf8 -t UTF-16BE |  \
xxd -p | \
gsed 's/..../U+&\n/g'
Command Description
iconv 不同编码转换
xxd -p 单纯输出unicode编码
gsed 's/.../U+..../' 每四个字符段行
上一篇下一篇

猜你喜欢

热点阅读