Форум: "Основная";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизКодировка текста Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.04 c