是否存在内置工具可将字符转换为ASCII/Unicode?求类似${'c'?unicode}输出63的功能
字符转ASCII/Unicode的实现方案
嘿,好问题!我查了下常见的内置工具列表,确实没有直接叫unicode的内置工具能直接实现你说的${'c'?unicode}这种语法,但有不少替代方法可以达成同样的效果,分场景给你说说:
1. Shell环境(比如Bash)
用内置的printf命令就能轻松实现,它支持把字符转换成对应的ASCII/Unicode十进制值:
# 获取字符'c'的ASCII值(也就是Unicode码点,因为ASCII是Unicode子集) printf "%d" "'c" # 输出:99
如果需要更接近你想要的语法,可以自己封装一个小函数:
unicode() { if [ $# -eq 1 ]; then printf "%d" "'$1" fi }
之后就能这样用:
unicode 'c' # 输出99 unicode '?' # 输出63(这应该是你例子里想写的?)
2. 脚本语言环境(比如Python)
Python里有内置的ord()函数,直接返回字符的Unicode码点,ASCII字符的结果和ASCII值完全一致:
print(ord('c')) # 输出99 print(ord('?')) # 输出63
3. 自定义模板/扩展场景
如果是在某个特定的模板引擎或者自定义环境里,想要${'c'?unicode}这种语法,那可能需要自己扩展该环境的工具集——比如写一个自定义过滤器或者函数,内部调用上面提到的字符转码逻辑,就能实现你想要的调用方式了。
另外提一句:你例子里的63其实是字符'?'的ASCII/Unicode值,'c'对应的是99,可能是手滑打错啦 😄
内容的提问来源于stack exchange,提问作者Eliy Arlev
相关产品推荐
相关产品推荐

