Baseado em esta resposta no site Unix e Linux Stack Exchange , recode
funciona de forma limpa para mim no Ubuntu 12.04.5 (LTS):
echo -n 0x82ae | recode SHIFT-JIS/x4..UTF-8
É claro que isso converte a saída do código hexadecimal de Shift-JIS para UTF-8, mas bem ... UTF-8 é o que todas as crianças estão usando hoje em dia. Mas você pode apenas cortar o material ..UTF-8
como este e a saída deve ser pura Shift-JIS:
echo -n 0x82ae | recode SHIFT-JIS/x4
Para confirmar a conversão para UTF-8 corretamente, você pode canalizá-la para xxd
desta forma:
echo -n 0x82ae | recode SHIFT-JIS/x4..UTF-8 | xxd -p -u
E ele é igual a E38190
, o que corresponde a exatamente o mesmo caractere em UTF-8, como mostrado aqui . Uma tabela completa dos mapeamentos de conversão Shift-JIS para UTF-8 pode ser encontrada aqui .
Ou você pode simplesmente executar xxd
da linha de comando para obter o código hexadecimal exato para qualquer caractere ou série de caracteres que desejar:
echo -n "ぐ" | xxd -p -u