Você pode usar o eco do bash ou / bin / echo do GNU coreutils em combinação com iconv:
echo -ne '\x09\x65' | iconv -f utf-16be
Por padrão, o iconv converte em sua codificação de localidades. Talvez mais portátil do que confiar em um shell ou comando de eco específico seja o Perl. A maioria dos sistemas UNIX que conheço possui o Perl disponível e ele ainda possui várias portas do Windows.
perl -C -e 'print chr 0x0965'
Na maioria das vezes, quando preciso fazer isso, estou em um editor como o Vim / GVim, que possui suporte embutido. Enquanto estiver no modo de inserção, pressione Ctrl-V seguido de u e digite quatro caracteres hexadecimais. Se você deseja um caractere além de U + FFFF, use um U maiúsculo e digite 8 caracteres hexadecimais. O Vim também suporta mapas personalizados fáceis de criar. Ele converte uma série de caracteres em outro símbolo. Por exemplo, eu tenho um mapa-chave que desenvolvi chamado www, converte TM para ™, (C) para ©, (R) para ® e assim por diante. Eu também tenho um mapa-chave para o Klingon para quando isso se tornar necessário. Tenho certeza que o Emacs tem algo parecido. Se você estiver em um aplicativo GTK + que inclui o GVim e o Terminal GNOME, tente Control-Shift-u seguido de 4 caracteres hexadecimais para criar um caractere Unicode. Tenho certeza que o KDE / Qt tem algo parecido.
ATUALIZAÇÃO: A partir do Bash 4.2, parece ser um recurso incorporado agora:
echo $'\u0965'
ATUALIZAÇÃO: Além disso, hoje em dia um exemplo em Python provavelmente seria preferido em relação ao Perl. Isso funciona no Python 2 e 3:
python -c 'print(u"\u0965")'