Попробуйте
% echo -n éÉ | hd
00000000 c3 a9 c3 89 |....|
00000004
, где hd
— утилита hexdump.
Итак, ваша задача — это просто UTF -8 кодировка (, а ваш наблюдаемый результат \xC3\x89
— это шестнадцатеричное представление UTF -8 ). Сегодня у нас UTF -8 везде .
В моем окружении есть и LANG=en_US.UTF-8
, и LC_ALL=en_US.UTF-8
(, даже если я француз ).
Кроме того,
echo '\xC3\x89\xC3\xA9'
производит
Éé
как и ожидалось.
И так
echo "\\xC3\\x89\\xC3\\xA9" | iconv -t utf-8
Читайте также локаль (7).
Обратите внимание, что некоторые кодировки символов (, например. старый простой ASCII)не имеет символов é
или É
, а другие (например. ISO -8859 -1)кодируют их по-разному.