|
Вопрос # 4 903/ вопрос открыт / |
|
Здравствуйте, эксперты! Помогите пожалуйста! вот вопрос:
Можно ли по внешнему виду текста определить, в какой он кодировке "на самом деле", и в какой он кодировке просматривается?
Ограничение: использовать только кодировки 866, 1251, KOI8R, UTF16 и UTF8 !
Примеры:
При просмотре текста в браузере видна "каша" из символов псевдографики.
При просмотре текста в браузере видна "каша", в которой много заглавных букв.
При просмотре текста в браузере видна "каша", в которой четные буквы одинаковые.
как это объяснить преподу?
 |
Вопрос задала: Иринчик (статус: Посетитель)
Вопрос отправлен: 10 января 2011, 16:52
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Цитата (Иринчик):
визуально определить надо в какой кодировке представлен текст.
Допустим, ты открываешь файл какой-то программой на просмотр - тут всё зависит от того, в какой кодировке файл открывается программой изначально.
Пусть это будет внутренний вьюер Lister от Total Commander, изначально в нем включена кодировка cp1251. Тогда, если текст в файле был в кодировке:
cp1251 - этот текст можно читать;
DOS - нв®в ⥪бв ¬®¦® зЁв вм;
KOI8R - ЬФПФ ФЕЛУФ НПЦОП ЮЙФБФШ;
UTF8 - этот текст можно читать;
UTF16 - яюMB>B B5:AB <>6=> G8B0BL.
Вот как-то так. То же самое касается и браузеров.
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 11 января 2011, 08:46
Оценка за ответ: 5
|
Мини-форум вопроса
Всего сообщений: 26; последнее сообщение — 26 января 2011, 15:43; участников в обсуждении: 4.
Страницы: [1] [2] [Следующая »]
|
mirt.steelwater (статус: Посетитель), 10 января 2011, 17:03 [#1]:
используй любую тестовую панграмму в комментариях, если текст формируешь ты. если текст чужой прийдется пользоваться словарем и пытаться найти осмысленные слова в разных кодировках. это касается cp-1251 & koi8-r что касается других кодировок точно не скажу, т.к. утф можно еще отличать по размеру символа наверное - не уверен - но тот же принцип должен работать кажись. благо словари должны быть не слишком богаты - достаточно прочитать такие слова как "главная" и т.п., что встречается практически во всех сайтах.
ну а вообще - согласно стандарту - в страничках обязана быть указана кодировка - не указана - говоришь "страница не соответствует стандарту"
p.s. когда я говорю "сравнить со словарем" я имею в виду, что нужно попытаться перевести набор битов текста в кодировку ANSII (или другую кодировку словаря), предполагая, что этот набор битов записан в кодировке такой-то - сделать поиск, нет - а такой кодировки - нет? - тогда такой и т.д.
да - еще полезный момент - много заглавных букв - это вероятнее всего koi8-r, т.к. там регистр букв противоположен регистру букв в кодировке cp-1251
Ⓐ свобода сопротивление солидарность
|
|
Иринчик (статус: Посетитель), 10 января 2011, 17:13 [#2]:
а как с преподом то разговаривать?
|
|
Иринчик (статус: Посетитель), 10 января 2011, 17:13 [#3]:
что ему говорить?
|
|
Иринчик (статус: Посетитель), 10 января 2011, 17:16 [#4]:
и еще, как перевести набор битов теста в кодировку ANSII (или другую кодировку словаря)
|
|
mirt.steelwater (статус: Посетитель), 10 января 2011, 17:22 [#5]:
камрад Иринчик, разговаривать с преподом лучше всего за пивом
как перевести в какую-либо кодировку набор битов? а как это сейчас у тебя делается?) точно так же - берешь пару битов (ну или сколько там кодировка предполагает) - смотришь в таблицу кодировки (реализуется константой-массивом) и получаешь символ. все просто.
Ⓐ свобода сопротивление солидарность
|
|
Иринчик (статус: Посетитель), 10 января 2011, 17:30 [#6]:
просто я совсем ничего не понимаю, а завтра экзамен((((((((((( помогите, пожалуйста!
|
|
mirt.steelwater (статус: Посетитель), 10 января 2011, 17:39 [#7]:
лучше всего забить. зачем тебе оценка? важны лишь знания! не нужно заниматься вещами, которые тебе неинтересны - интерес прийдет позже, если не побуждать себя испытывать к ним отвращения. а желание получить высокий бал - именно стимул к возникновению отвращения. понимание не прийдет за одну ночь - почитай поэзию, твори и познавай, не принуждай себя ни к чему и ты обретешь свободу ну я увлекся... ))) попроси min@y™ - он за пиво все задачки решит. ну а если действительно хочешь понимать, то одними вопросами не обойтись "чтобы научиться ездить на велосипеде нужно ездить на велосипеде; чтобы научиться программировать нужно программировать".
Ⓐ свобода сопротивление солидарность
|
|
Иринчик (статус: Посетитель), 10 января 2011, 18:04 [#8]:
я все понимаю, мне надо на 3 баллы набрать, там немножко осталось добрать...вот сижу парюсь с этими вопросами, мне в принципе это не надо, просто экзамен надо как то сдать((((
|
|
bugmenot (статус: 3-ий класс), 10 января 2011, 19:59 [#9]:
в общем-то надо гистограмму построить, но да, в мире существуют столько интересных специальностей, не связанных с теорией информации.
виконання програми розпочинається з того самого мiсця, де призупинилося.
|
|
min@y™ (статус: Доктор наук), 11 января 2011, 08:18 [#10]:
Чойта я не совсем понял вопрос. Определять кодировку надо именно визуально? Или написать программу распознавания кодировки?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Иринчик (статус: Посетитель), 11 января 2011, 08:27 [#11]:
визуально определить надо в какой кодировке представлен текст. помогите, пожалуйста!!!
|
|
Иринчик (статус: Посетитель), 11 января 2011, 09:58 [#12]:
а как понять в какой он кодировке "на самом деле", и в какой он кодировке просматривается?
|
|
min@y™ (статус: Доктор наук), 11 января 2011, 10:17 [#13]:
Цитата (Иринчик):
а как понять в какой он кодировке "на самом деле"
Ну, это я в ответе написал.
Цитата (Иринчик):
в какой он кодировке просматривается?
В браузере или другой программе всегда есть меню "кодировка", один пункт которого отмечен галочкой или ещё как-то.
Скриншот:

Ссылка.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Иринчик (статус: Посетитель), 11 января 2011, 10:27 [#14]:
все поняла, спасибо огромное!))))
|
|
min@y™ (статус: Доктор наук), 11 января 2011, 10:41 [#15]:
Цитата (Иринчик):
все поняла, спасибо огромное!
А где "спасибо"?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Иринчик (статус: Посетитель), 11 января 2011, 10:51 [#16]:
я же написала спасибо огромное!!!
|
|
min@y™ (статус: Доктор наук), 11 января 2011, 11:11 [#17]:
Цитата (Иринчик):
я же написала спасибо огромное
У нас тут принято оценки за ответы ставить, вообще-то.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
mirt.steelwater (статус: Посетитель), 11 января 2011, 11:28 [#18]:
охохо)))
а я то думал нужно программно определить - а оказалось человек браузером пользоваться не умеет )))) охохошеньки))))) я под столом))))))
Ⓐ свобода сопротивление солидарность
|
|
mirt.steelwater (статус: Посетитель), 11 января 2011, 11:31 [#19]:
а вот про гистограмму я не понял - объясните
Ⓐ свобода сопротивление солидарность
|
|
min@y™ (статус: Доктор наук), 11 января 2011, 11:42 [#20]:
Цитата (mirt.steelwater):
а вот про гистограмму я не понял - объясните
Короче, это типа анализ вероятностей встречи тех или иных букв в тексте. Используется для автоматического распознавания кодировки текста. Я такое уже писал и даже исходник полностью тут выкладывал не ранее, чем месяц назад.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Страницы: [1] [2] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|