将 ASCII 转换为其十进制值

将 ASCII 转换为其十进制值

有在线工具可以将文本转换为 ASCII,例如这个。在 Ubuntu/Linux 中可以做同样的事情吗?

例如

Input data: abc

Output as ASCII: 097 098 099

答案1

看一下旧的备用方案od。您的 ASCII 到十进制将是:

echo -n abc | od -td1

查看手册页od或“八进制转储”,

man od  

将输入转换为其他形式的许多选项——十六进制、十进制、 ASCII、字符等。

答案2

您想将 ASCII 符号转换为其十进制值。

完整表格位于 man ascii(要不就ascii)。

ASCII 转十进制:“a”→“97”

printf "%d\n" \'a

十进制转 ASCII:“97”→“a”

printf '%b' $(printf '\\%03o' "97")

答案3

另一种方法是使用 Perl 的unpack

$ echo abc | perl -lne 'print join " ", unpack("C*")'
97 98 99

更详细地使用splitord

$ echo abc | perl -lne 'print join " ", map { ord $_ } split //'
97 98 99

参考在 ASCII 字符和值之间转换

相关内容