Dav*_* Hu 14

使用printf,内置的bash:http://mywiki.wooledge.org/BashFAQ/071

如果您想要十六进制字符的ASCII代码:

function ord {
  printf %x "'$1"
}

ord A # 41
ord 0 # 30
Run Code Online (Sandbox Code Playgroud)

这里解释了单引号的使用:http: //pubs.opengroup.org/onlinepubs/009695399/utilities/printf.html

如果前导字符是单引号或双引号,则该值应为单引号或双引号后字符的基础代码集中的数值.

  • 该答案的原始版本说明,要获取十进制表示形式(而不是十六进制),可以使用%d代替%x。我不确定为什么将其删除,但是有些读者可能会发现它有用。 (2认同)