有个需求,比如”龍“字,想知道它的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+..../' |
每四个字符段行 |
网友评论