Печать
Категория: Пингвиноводство
Просмотров: 5143

Иногда требуется перекодировать поступивший в странной кодировке текст:

u:41e;43f;43b;430;442;430;20;437;430;43a;430;437;430;20;4e;20;34;39;39;38;36;39;39;

Как ни странно, декодер Лебедева с ним не справился, однако перекодировать его можно весьма просто:

$ unset TEXT;unset SRC;SRC=$(echo "u:41e;43f;43b;430;442;430;20;437;430;43a;430;437;430;20;4e;20;34;39;39;38;36;39;39;"|awk -F\: '{print $2}'|sed 's/;/ /g'); for i in $SRC; do TEXT=$TEXT"\u$i";done;echo -e $TEXT
Оплата заказа N 4998699

# echo "Ó ïîïà áûëà ñîáàêà"| iconv -f UTF-8 -t ISO-8859-15|iconv -f cp1251 -t UTF-8
У попа была собака

UTF-8 в этом примере - текущая локаль. Приведено для удобства, но можно соответствующие -f и -t параметры опустить, даже если текущая локаль другая (кыш в свою пещеру, троглодит!).