Автор Гілка: Код Шрека  (Прочитано 3765 раз)

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Код Шрека
« : 2010-05-27 00:49:49 »
Цікаво, unicode дає можливість намалювати літеру S з вушками як у Шрека. І який її буде код?  :)
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній v.2.1

  • Письменник
  • *****
  • дописів: 639
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #1 : 2010-05-27 01:54:05 »
У мене більш приземлене питання. Як однією командою перекодовувати в теці субтиттри з cp1251 на UTF-8?

Відсутній piktor

  • Видавець
  • *******
  • дописів: 3396
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #2 : 2010-05-27 07:45:32 »
Хороше питання. Його можна було-б і в технічній гілці.
Всим, хто тоне й не знає,
За що вхопитись,
Хто вже з останніх
Вибився сил:
Попереджаю - я не колода,
Попереджаю - я крокодил.

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #3 : 2010-05-27 09:14:58 »
У мене більш приземлене питання. Як однією командою перекодовувати в теці субтиттри з cp1251 на UTF-8?
Цікаве питання... Набіса воно вам? Mplayer рзоуміє кодування cp1251 і пише нормальні літери, а не крокозябри.

for i in *.srt
do
iconv -f cp1251 -t utf8 "$i" > some.tmp
mv -vi some.tmp "$i"
done
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #4 : 2010-05-27 11:45:37 »
У мене більш приземлене питання. Як однією командою перекодовувати в теці субтиттри з cp1251 на UTF-8?
iconv -f cp1251 -t utf-8 filename.srt ?

upd.: упс, соррі, не прочитав пост Сергія.
« Змінено: 2010-05-27 11:46:32 від noddeat »
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній noddeat

  • Кореспондент
  • ***
  • дописів: 197
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #5 : 2010-05-27 11:54:50 »
[size=8]о   о[/size]
  S
« Змінено: 2010-05-27 11:55:16 від noddeat »
Filenames are infinite in length, where infinity is set to to 255 characters. Peter Collinson, "The Unix File System"

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #6 : 2010-05-28 11:20:27 »
Який же тоді код букви S у щиті чи букви  M у вигляді перехрещених шпаг?
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній v.2.1

  • Письменник
  • *****
  • дописів: 639
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #7 : 2010-05-29 02:13:30 »
iconv -f cp1251 -t utf-8 filename.srt ?

Через це ми уже пройшли, але тут доводиться кожну назву файла підставляти. А питання саме як це зробити однією командою.
Пробував підставляти * і ??? але не вийшло. Може хтось із приборкувачів командного рядка знає елегантне рішення.

є ще piconv, recode , але мене обломало і я перейменував файли по одному.


Відсутній v.2.1

  • Письменник
  • *****
  • дописів: 639
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #8 : 2010-05-29 02:15:35 »
Цікаве питання... Набіса воно вам? Mplayer рзоуміє кодування cp1251 і пише нормальні літери, а не крокозябри.

Щось у мене минулі стосунки з мплеєром не склалися, були якісь танці й проблеми з виходом у повноекранний режим. Тому подружився з VLC.

Ну й це не тільки для плеєрів, часто різні текстові файли з нету в cp1251.
« Змінено: 2010-05-29 02:18:03 від vitre »

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #9 : 2010-05-29 18:05:23 »
iconv -f cp1251 -t utf-8 filename.srt ?

А питання саме як це зробити однією командою.
Пробував підставляти * і ??? але не вийшло. Може хтось із приборкувачів командного рядка знає елегантне рішення.
Чим же вам моє рішення не підійшло?
Забагато перепитує?
можна зробити інакше:
for i in *.srt
do
iconv -f cp1251 -t utf8 "$i" > some.tmp
mv -vf some.tmp "$i"
done
Воно тільки показуватиме імена файлів, що переіменувало.
В принципі це і є 1 стрічка, але розбита на декілька рядків для зручності читання
зовсім однією буде так:
for i in *.srt; do iconv -f cp1251 -t utf8 "$i" > some.tmp; mv -vf some.tmp "$i"; done
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній Сергій Лисовенко

  • Літератор
  • ******
  • дописів: 1489
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #10 : 2010-05-29 18:11:01 »
Тільки не забувайте, що мій код написаний на умовах GNU: тому краще спочатку скопіюйте субтитри в окрему папку і перевірте  ;) якщо все гаразд  - можете повторювати корисний досвід на далі. якщо ні - дивіться де помилились.
Якщо Лінукс написали студенти - нехай вони під ним і навчаються.

Відсутній v.2.1

  • Письменник
  • *****
  • дописів: 639
  • Карма: +0/-0
Re: Код Шрека
« Відповідей #11 : 2010-05-30 02:26:01 »
Працює :)

Звичайно, якщо ліньки ціли сезон Lost перейменовувати по одному файлу :)
« Змінено: 2010-05-30 02:27:40 від vitre »

Відсутній Ign1111

  • Письменник
  • *****
  • дописів: 829
  • Карма: +0/-0
  • Linux 4ever!
Re: Код Шрека
« Відповідей #12 : 2011-01-30 17:58:03 »
Щось у мене минулі стосунки з мплеєром не склалися, були якісь танці й проблеми з виходом у повноекранний режим. Тому подружився з VLC.

Налаштування -> Субтитри та OSD -> Default Encoding
Linux. The future is open.

Відсутній Ign1111

  • Письменник
  • *****
  • дописів: 829
  • Карма: +0/-0
  • Linux 4ever!
Re: Код Шрека
« Відповідей #13 : 2011-01-30 18:14:17 »
Ну й це не тільки для плеєрів, часто різні текстові файли з нету в cp1251.

До речі, порадьте якійсь текстовий редактор на gtk, якій розуміє різні кодування. Спробував tea (teagtk), щось воно навіть файли не відкриває...
Linux. The future is open.