URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6698
[ Назад ]

Исходное сообщение
"Помогите определить кодировку"

Отправлено Anatoliy , 23-Авг-07 17:18 
Доброго дня.

Есть некая прога, которая сохраняет русский текст в неизветсной для меня кодировке. Изначально русский текст - ЮзерТест, прога сохранила в следующем формате (Hex)

C3 9E C3 A7 C3 A5 C3 B0 C3 92 C3 A5 C3 B1 C3 B2
Если убрать все символы С3, то оставшиеся символы будут соответствовать кодировке 866, за исключением сиволов выше B0 (hex). Но если к кодам сивола выше B0 прибавить 30 (hex), то и оставшиеся буквенные символы будут соответствовать изначальному тексту.

Удалив символы C3 и прибавив 30 выполнил:
iconv -f 866 -t KOI8-R k.txt
получил изначальный текст.

Буду очень признателен, если Вы мне скажите что это за кодировка такая.


Содержание

Сообщения в этом обсуждении
"Помогите определить кодировку"
Отправлено vic , 23-Авг-07 19:03 
>[оверквотинг удален]
>за исключением сиволов выше B0 (hex). Но если к кодам сивола
>выше B0 прибавить 30 (hex), то и оставшиеся буквенные символы будут
>соответствовать изначальному тексту.
>
>Удалив символы C3 и прибавив 30 выполнил:
>iconv -f 866 -t KOI8-R k.txt
>получил изначальный текст.
>
>Буду очень признателен, если Вы мне скажите что это за кодировка такая.
>

У вас кодировка koi8-r в системе? (судя потому что в кои перекодируете..)

Тогда попробуйте так:
$ cat strange_charset.txt | iconv -f UTF8 -t ISO_8859-1 | iconv -f CP1251 -t koi8-r

То что в странной кодировке в два раза больше байт указывает на UTF8 (для русского в UTF8 используется два байта), но это испорченный UTF-8, так как программа произвела перекодировку из ISO-8859-1 (байты 0xС3) в UTF-8 текста который на самом деле в CP1251.

Т.е. программа некорректно перекодирует или ей на вход текст полается в неверной кодировке.


"Помогите определить кодировку"
Отправлено Anatoliy , 24-Авг-07 11:15 
>>
>>Буду очень признателен, если Вы мне скажите что это за кодировка такая.
>>
>
>У вас кодировка koi8-r в системе? (судя потому что в кои перекодируете..)
>

Да, у меня в кодировка KOI8-R.

>
>Тогда попробуйте так:
>$ cat strange_charset.txt | iconv -f UTF8 -t ISO_8859-1 | iconv -f
>CP1251 -t koi8-r
>

Снимаю шляпу. Предложенный Вами вариант подошел. Спасибо.

>То что в странной кодировке в два раза больше байт указывает на
>UTF8 (для русского в UTF8 используется два байта), но это испорченный
>UTF-8, так как программа произвела перекодировку из ISO-8859-1 (байты 0xС3) в
>UTF-8 текста который на самом деле в CP1251.
>Т.е. программа некорректно перекодирует или ей на вход текст полается в неверной
>кодировке.

И тут Вы в точку попали. В доке к этой проге написано: Using non-ISO-Latin 1 characters greater than 127 ... can cause directory database errors.
На самом деле данные она записывает, но другие приложения эти данные прочитать не могут.
Спасибо еще раз.


"Помогите определить кодировку"
Отправлено Ray Dudu , 27-Авг-07 11:47 
РЕСПЕКТ!

"Помогите определить кодировку"
Отправлено Anatoliy , 29-Авг-07 09:59 
>РЕСПЕКТ!

А мне-то за что? :-))


"Помогите определить кодировку"
Отправлено bw , 13-Мрт-09 11:52 
vic

> То что в странной кодировке в два раза больше байт указывает на
> UTF8 (для русского в UTF8 используется два байта), но это испорченный
> UTF-8, так как программа произвела перекодировку из ISO-8859-1 (байты 0xС3) в
> UTF-8 текста который на самом деле в CP1251.

Спасибо, выручил. sound-juicer (gnome) начудил.

p.s. В google искал по c3 :-).

..bw