有时,我的文件(DB表、git内容等)中有不想要的字符。当我用xxd列出它们时,我有UTF-8代码,例如:
e28099
我想知道bash中的这个角色是哪个,所以我输入:
echo -n '00000000: e28099' | xxd -r
我会有
’
在控制台上。是否可以不包括这些零(00000000: )?那么,我是否可以键入xxd的任何参数:
echo -n 'e28099' | xxd -???,结果将是’
发布于 2022-03-21 16:55:00
$ perl -le'print pack "H*", $ARGV[0]' e28099
’$ perl -Mv5.10 -Mcharnames=:full -C -e'
$_ = pack "H*", $ARGV[0];
utf8::decode $_;
say;
for my $cp ( unpack "W*", $_ ) {
my $c = chr( $cp );
say sprintf "%s U+%X %s",
( $c =~ /\p{Print}/ && !/\p{Mark}/ ) ? "[$c]" : " ",
$cp,
charnames::viacode( $cp );
}
' e28099
’
[’] U+2019 RIGHT SINGLE QUOTATION MARK(要使它们使用STDIN而不是参数,请将-le/-e替换为-ple,并将$ARGV[0]替换为$_。)
https://stackoverflow.com/questions/71556653
复制相似问题