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(//) | 分割$_ 为一个一个字符 |
打印到屏幕 | |
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+..../' | 每四个字符段行 |