LINUX.ORG.RU

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

Но если так хочется, то mp3info + enca. Но у первого метода погрешность меньше :)

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

> Я тебе и без определения скажу: там практически везде cp1251, можно не гадать.

Я же говорю автоматизировать хочу. Если песня уже с UTF-8, то тег запориться вовсе при повторном перекодировании.

> Но если так хочется, то mp3info + enca. Но у первого метода погрешность меньше :)

Попробую, спасибо.

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

$ mp3info * 
File: Ляпис Трубецкой - Чёрно-белый день.mp3
Title:   ����� - ����� ����             Track: 10
Artist:  ����� ���������
Album:   ������� �� ������              Year:  2006
Comment: www.megamusic.uz               Genre: Pop [13]

1) Утилита работает только с первой версией тегов.
2) Не дает отчет о кодировке.

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

хм, а я вот все свои мп3 конвертировал с помощью easytag. вроде как она отличала utf от cp1251 точнее понимать cp1251 ей надо поставить галочку, а так - и те и другие она читала, и потом сохраняла в уникоде.

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

> аудациус использует если, я правильно помню, libenc для автоопределения кодировки.

Поэтому оно (автоопределение) нифига не работает.

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

>2) Не дает отчет о кодировке.

А слово "enca" я зря значит писал? А чем тег выдрать - дело десятое.

as33 ★☆☆
()

перебор + прверять получившиеся симаолы на принадлежность к кирилице

dimon555 ★★★★★
()

Отвечу только на вопрос "как отличить русский текст cp1251 от utf8". И приведу только своё мнение, и только с позиции программиста.

1. Предполагая, что это utf-8, пытаешься расконвертить.

Если неудача - это не utf8, goto 2.

Если удача - проверяешь, получаются только символы ascii + базовая кириллица или нет? Если да - дать ответ utf8, конец проверки. Если нет - похоже на utf8; конец проверки, спросить пользователя.

2. Проверяешь, что все символы из набора cp1251/ascii+кириллица. А именно, 1-127,192-255.

Если да - дать ответ cp1251, конец проверки.

Если нет - похоже на какую-то другую кодировку; спроси пользователя, конец проверки.

Механизм "спросить пользователя" я бы реализовал (в CLI) как вывод предупреждающего сообщения и отказ от каких-либо активных действий с файлом.

И всё же я полагаю, что при аккуратном обращении enca имеет больше шансов. Надо только осторожно относится к его утверждениям о кодировке типа koi8-r - скорее всего, это неправильно опознанное cp1251:

$ echo ПРОБА |iconv -t cp1251 |enca KOI8-R Cyrillic LF line terminators

alexsaa
()
Ответ на: комментарий от alexsaa

Вот и моё сообщение съело TeX форматирование :) Исправляюсь:

$ echo ПРОБА |iconv -t cp1251 |enca
KOI8-R Cyrillic
LF line terminators

alexsaa
()

Есть скриптик tag2utf.py, он умеет перекодировать. Гугл знает.

Капча hatying че-та хочет...

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