Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Кодировка текста   Найти похожие ветки 

 
Mambo   (2005-10-26 16:57) [0]

Господа!
Как можно программно определить, в какой кодировке написан текст?
(Греческая, Центральноевропейская, Кириллица, Китайская и проч.)


 
Digitman ©   (2005-10-26 17:33) [1]

никак.


 
Mambo   (2005-10-26 17:40) [2]

А как это делает MS OE? (даже когда кодировка не прописана)


 
Игорь Шевченко ©   (2005-10-26 17:52) [3]

Mambo   (26.10.05 17:40) [2]

А что делает MS OE ? Определяет, в какой кодировке написан произвольный текст ?


 
Digitman ©   (2005-10-26 17:52) [4]


> как это делает MS OE?


точно так же - никак.

есть дифолт-кодировка, именно с ней MSOE и интерпретирует все то дерьмо, которое ему на вход поступает


 
Mambo   (2005-10-26 18:47) [5]

есть два письма с charset="utf-8", открываем их в MS OE - вуаля!
В одном Греческая, в другом - Китайская.
Все счастливы, все довольны.
Похоже, только в MS знают секрет.


 
Anatoly Podgoretsky ©   (2005-10-26 18:48) [6]

Это где ты такое прочитал кодировка и Юникод.


 
Mambo   (2005-10-26 18:53) [7]

Вот два письма (from и to удалил), сохраните каждое из них как EML и откройте:

1.
Subject: boer
Date: Wed, 26 Oct 2005 10:29:15 +0200
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_0009_01C5DA18.22DBD630"
X-Priority: 3
X-MSMail-Priority: Normal
X-Unsent: 1
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527

This is a multi-part message in MIME format.

------=_NextPart_000_0009_01C5DA18.22DBD630
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable

=
=E5=8C=85=E6=8B=AC=E7=84=A6=E7=82=B9=E6=96=B0=E9=97=BB=E6=8A=A5=E9=81=93
------=_NextPart_000_0009_01C5DA18.22DBD630
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META content=3D"MSHTML 6.00.2900.2769" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2><!--StartFragment --><FONT =
size=3D3> </FONT><FONT=20
size=3D-1>=E5=8C=85=E6=8B=AC=E7=84=A6=E7=82=B9=E6=96=B0=E9=97=BB=E6=8A=A5=
=E9=81=93</FONT><FONT size=3D3> </FONT></FONT></DIV></BODY></HTML>

------=_NextPart_000_0009_01C5DA18.22DBD630--

2.
Subject: subbie
Date: Thu, 20 Oct 2005 09:50:47 +0200
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="----=_NextPart_000_000F_01C5D55B.C1C23E40"
X-Priority: 3
X-MSMail-Priority: Normal
X-Unsent: 1
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2527

This is a multi-part message in MIME format.

------=_NextPart_000_000F_01C5D55B.C1C23E40
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable

=CE=9F =CE=95=CE=BB=CE=BB=CE=B7=CE=BD=CE=B9=CE=BA=CF=8C=CF=82 =
=CE=9F=CF=81=CE=B3=CE=B1=CE=BD=CE=B9=CF=83=CE=BC=CF=8C=CF=82 =
=CE=A4=CE=BF=CF=85=CF=81=CE=B9=CF=83=CE=BC=CE=BF=CF=8D =
=CE=B1=CF=80=CE=BF=CF=84=CE=B5=CE=BB=CE=B5=CE=AF =
=CE=9D=CE=BF=CE=BC=CE=B9=CE=BA=CF=8C =
=CE=A0=CF=81=CF=8C=CF=83=CF=89=CF=80=CE=BF =
=CE=94=CE=B7=CE=BC=CE=BF=CF=83=CE=AF=CE=BF=CF=85 =
=CE=94=CE=B9=CE=BA=CE=B1=CE=AF=CE=BF=CF=85 =CF=85=CF=80=CF=8C =
=CF=84=CE=B7=CE=BD =CE=B5=CF=80=CE=BF=CF=80=CF=84=CE=B5=CE=AF=CE=B1 =
=CF=84=CE=BF=CF=85 =
=CE=A5=CF=80=CE=BF=CF=85=CF=81=CE=B3=CE=B5=CE=AF=CE=BF=CF=85 =
=CE=A4=CE=BF=CF=85=CF=81=CE=B9=CF=83=CF=84=CE=B9=CE=BA=CE=AE=CF=82 =
=CE=91=CE=BD=CE=AC=CF=80=CF=84=CF=85=CE=BE=CE=B7=CF=82. ~
------=_NextPart_000_000F_01C5D55B.C1C23E40
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META content=3D"MSHTML 6.00.2900.2769" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2><!--StartFragment --><FONT =
size=3D3><!--StartFragment --> =CE=9F=20
=CE=95=CE=BB=CE=BB=CE=B7=CE=BD=CE=B9=CE=BA=CF=8C=CF=82 =
=CE=9F=CF=81=CE=B3=CE=B1=CE=BD=CE=B9=CF=83=CE=BC=CF=8C=CF=82 =
=CE=A4=CE=BF=CF=85=CF=81=CE=B9=CF=83=CE=BC=CE=BF=CF=8D =
=CE=B1=CF=80=CE=BF=CF=84=CE=B5=CE=BB=CE=B5=CE=AF =
=CE=9D=CE=BF=CE=BC=CE=B9=CE=BA=CF=8C =
=CE=A0=CF=81=CF=8C=CF=83=CF=89=CF=80=CE=BF =
=CE=94=CE=B7=CE=BC=CE=BF=CF=83=CE=AF=CE=BF=CF=85 =
=CE=94=CE=B9=CE=BA=CE=B1=CE=AF=CE=BF=CF=85 =CF=85=CF=80=CF=8C =
=CF=84=CE=B7=CE=BD=20
=CE=B5=CF=80=CE=BF=CF=80=CF=84=CE=B5=CE=AF=CE=B1 =CF=84=CE=BF=CF=85 =
=CE=A5=CF=80=CE=BF=CF=85=CF=81=CE=B3=CE=B5=CE=AF=CE=BF=CF=85 =
=CE=A4=CE=BF=CF=85=CF=81=CE=B9=CF=83=CF=84=CE=B9=CE=BA=CE=AE=CF=82 =
=CE=91=CE=BD=CE=AC=CF=80=CF=84=CF=85=CE=BE=CE=B7=CF=82.=20
~</FONT></FONT></DIV></BODY></HTML>

------=_NextPart_000_000F_01C5D55B.C1C23E40--


 
Anatoly Podgoretsky ©   (2005-10-26 18:58) [8]

Mambo   (26.10.05 18:53) [7]
А зачем, тут явна указано UTF-8


 
Mambo   (2005-10-26 19:22) [9]

И?


 
Anatoly Podgoretsky ©   (2005-10-26 19:31) [10]

И все. Никаких турецких, японских.


 
umbra ©   (2005-10-26 19:41) [11]


> Content-Transfer-Encoding: quoted-printable


Все дело в способе кодировки сообщения. Это ведь не текст. И в соответствии с правилами декодирования этого quoted-printable получаются однозначно определенные символы Уникода. Китайские, японские, арабские - любые.


 
wp2   (2005-10-26 20:28) [12]

Я думаю определяется по небольшой смысловой нагрузке. Вообщим надо быть филологом, но... есть просто сочетания букв, которых не существует.
И программа может подбирать разные кодировки, чтобы вышло что-то похожее на "разрешенные" буквенные сочетания.

Хоший кстати пример это Тотал Коммандер, если нажать на F3 (для просмотра), то Lister покажет текст в той кодировке, в которой как раз и находится текст...


 
Джо ©   (2005-10-26 20:42) [13]

Да, очень неплохой результат дает даже анализ диграмм. Да и по частоте употребления отдельных символов тоже удобоваримо получается.


 
wp2   (2005-10-26 21:36) [14]


> Хоший кстати пример это Тотал Коммандер, если нажать на
> F3 (для просмотра), то Lister покажет текст в той кодировке,
>  в которой как раз и находится текст...

Хотя если серйозно, то определить OEM от ANSI Lister"у легко.
В OEM используются восновном символы с кодами от 128 до 239 (причём 176-223 не задействованы). Ну, думаю вы как программисты об этом знаете...

В ANSI русские буквы идут с 192 и до конца...



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.07 c
14-1130523052
Gero
2005-10-28 22:10
2005.11.20
Оцените компонент


2-1131010961
ganda
2005-11-03 12:42
2005.11.20
Word


14-1130409549
Антоний
2005-10-27 14:39
2005.11.20
Вопрос про контроль трафика с сервера Win2003Server


14-1130510162
Копир
2005-10-28 18:36
2005.11.20
Средне-статистический респондент на конфе "Потрепать себя".


5-1111501905
DmitryS
2005-03-22 17:31
2005.11.20
TListView &amp; TTreeView