LINUX.ORG.RU

Как называется такая кодировка?


0

0

_DF_20_E6_E4_F3

Пришло куча файлов (с русскими именами), не могу понять, что сказать рекоду, чтоб в utf8 перегнать и прочитать.

Предполагаю, что когда-то это было cp1251, но уже - не оно :(

echo "_DF_20_E6_E4_F3" | recode cp1251..utf8 _DF_20_E6_E4_F3recode: Ambiguous output in step `CR-LF..data'

Вполне законно ругается, а перебирать, так там столько вариантов, что умом можно тронуться.

★★★★★

Этож коды юникодных символов символов в cp1251. В приведённом тобой примере написано "Я жду". Для перекодирования предлагаю такую команду: $ printf $(echo "твой_текст_здесь" | sed 's/_/\\x/g') | iconv -f cp1251

Laz ★★★★★
()
Ответ на: комментарий от KRoN73

php -r 'echo urldecode(str_replace("_", "%", "_DF_20_E6_E4_F3"));'|iconv -f cp1251 iconv: illegal input sequence at position 0

ManJak ★★★★★
() автор топика
Ответ на: комментарий от Laz

О!

Спасибо!

Ща буду скрипт ваять, чтоб массово переименовать!

Порадую чела :)

ManJak ★★★★★
() автор топика
Ответ на: комментарий от pupok

Блин,теперь туплю иначе (уже со скриптом).

#== Script #/bin/sh

printf $( echo $1 | sed 's/_/\\x/g' ) | iconv -f cp1251 -t utf8 #==

$ ./converter_ПЕРЕИМЕНОВКА.sh _DF_20_E6_E4_F3 Я жду

#== Script #/bin/sh

AA=`printf $( echo $1 | sed 's/_/\\x/g' ) | iconv -f cp1251 -t utf8`

echo $AA #==

$ ./converter_ПЕРЕИМЕНОВКА.sh _DF_20_E6_E4_F3 xDFx20xE6xE4xF3

Непойму, где я туплю :( Но, туплю точно!

ManJak ★★★★★
() автор топика
Ответ на: комментарий от ManJak

man bash :

When the old-style backquote form of substitution is used, backslash retains its literal meaning except when followed by $, `, or \.

То есть внутри ваших `` надо ставить \\\\ , а лучше не надо мешать $( ) и ` ` .

mky ★★★★★
()
Ответ на: комментарий от xsl

Спасибо огромное, ВСЕМ, кто ответил и навел на идеи! Переклинило здорово, а ответ - на поверхности.

Все - тема закрыта, ответ, который работает:

#/bin/sh

AA=$(printf $( echo $1 | sed 's/_/\\x/g' ) | iconv -f cp1251 -t utf8)

echo $AA

Дальше - можно в любой скрипт пихать :)

Завтра перегоню, благо, что есть время, хотя - просто взял попробовать помочь.

Где, только люди такие названия берут :))))

Еще раз спасибо.

ManJak ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.