Bash 将 \xC3\x89 转换为 É?

Phi*_*ide 5 character-encoding conversion escape-characters

我在iwlist wlo1 scan | grep ESSID脚本中运行。

它以以下格式显示法语字符

\xC3\x89为 É 和\xC3\xA9为 é。

我不确定这种格式叫什么。我尝试使用转换 unicode答案,echo -ne '\xC3\xA9' | iconv -f utf-16be但它转换为?.

这种格式的正式名称是什么,我如何在 bash 中转换它?

Rom*_*est 7

十六进制数字常量通常用0x前缀表示。
字符和字符串常量可以用前缀\x后跟两个十六进制数字的十六进制表示字符代码。

echo -ne '\xC3\x89'应该给你É

  • -e- 启用反斜杠转义的解释(包括\xHH- 带有十六进制值的字节HH(1 到 2 位数字))

为了处理更好的便携性使用printf功能:

printf "%b" '\xC3\x89'
É
Run Code Online (Sandbox Code Playgroud)