BASH: 将 Unicode 十六进制转换为字符串
BASH: Convert Unicode Hex to String
我将此文本文件保存在我的服务器上,其中包含十六进制十进制格式的 Unicode 字母,例如 \u3010
等。我想转换它们以使它们易于阅读而不需要删除正常的可读文本,如 "Blessed Messiah and the Tower" 等
\u3010Vocaloid 10\u3011Blessed Messiah and the Tower of AI\u3010Originl MV\u3011
\u3010Otomachi Una\u3011 Hate It! Hate It! Huge Ego!
\u3010Otomachi Una\u3011Melt \u3010Cover\u3011
\u3010GUMI\u3011 \u604b\u611b\u30c7\u30b3\u30ec\u30fc\u30c8 \u3010\u30aa\u30ea\u30b8\u30ca\u30ebMV\u3011
我已经尝试 运行 cat FILE | hexdump -v
或 cat FILE | iconv -f utf16
,但没有成功。我什至尝试了 cat FILE | ascii2uni -a U -q
,这是有效的,但存在一些图形缺陷,例如
【Otomachi Una】Melt over】
如何正确编码这些字符?我更喜欢大多数 unix 系统中内置的命令。
这些是被 echo -e
识别为表示 Unicode 字符的相同文字。
$ echo -e "$(<FILE)"
【Vocaloid 10】Blessed Messiah and the Tower of AI【Originl MV】
【Otomachi Una】 Hate It! Hate It! Huge Ego!
【Otomachi Una】Melt 【Cover】
【GUMI】 恋愛デコレート 【オリジナルMV】
一个解决方案:
printf '%s' "$(<file)"
其中 file 是包含您的 unicode 文本的文件的名称
我将此文本文件保存在我的服务器上,其中包含十六进制十进制格式的 Unicode 字母,例如 \u3010
等。我想转换它们以使它们易于阅读而不需要删除正常的可读文本,如 "Blessed Messiah and the Tower" 等
\u3010Vocaloid 10\u3011Blessed Messiah and the Tower of AI\u3010Originl MV\u3011
\u3010Otomachi Una\u3011 Hate It! Hate It! Huge Ego!
\u3010Otomachi Una\u3011Melt \u3010Cover\u3011
\u3010GUMI\u3011 \u604b\u611b\u30c7\u30b3\u30ec\u30fc\u30c8 \u3010\u30aa\u30ea\u30b8\u30ca\u30ebMV\u3011
我已经尝试 运行 cat FILE | hexdump -v
或 cat FILE | iconv -f utf16
,但没有成功。我什至尝试了 cat FILE | ascii2uni -a U -q
,这是有效的,但存在一些图形缺陷,例如
【Otomachi Una】Melt over】
如何正确编码这些字符?我更喜欢大多数 unix 系统中内置的命令。
这些是被 echo -e
识别为表示 Unicode 字符的相同文字。
$ echo -e "$(<FILE)"
【Vocaloid 10】Blessed Messiah and the Tower of AI【Originl MV】
【Otomachi Una】 Hate It! Hate It! Huge Ego!
【Otomachi Una】Melt 【Cover】
【GUMI】 恋愛デコレート 【オリジナルMV】
一个解决方案:
printf '%s' "$(<file)"
其中 file 是包含您的 unicode 文本的文件的名称