Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 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

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

mirt.steelwater (статус: Посетитель), 10 января 2011, 17:22 [#5]:

камрад Иринчик, разговаривать с преподом лучше всего за пивом;)
как перевести в какую-либо кодировку набор битов? а как это сейчас у тебя делается?) точно так же - берешь пару битов (ну или сколько там кодировка предполагает) - смотришь в таблицу кодировки (реализуется константой-массивом) и получаешь символ. все просто.
Ⓐ свобода сопротивление солидарность
Иринчик

Иринчик (статус: Посетитель), 10 января 2011, 17:30 [#6]:

просто я совсем ничего не понимаю, а завтра экзамен((((((((((( помогите, пожалуйста!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 10 января 2011, 17:39 [#7]:

лучше всего забить. зачем тебе оценка? важны лишь знания! не нужно заниматься вещами, которые тебе неинтересны - интерес прийдет позже, если не побуждать себя испытывать к ним отвращения. а желание получить высокий бал - именно стимул к возникновению отвращения. понимание не прийдет за одну ночь - почитай поэзию, твори и познавай, не принуждай себя ни к чему и ты обретешь свободу:) ну я увлекся... ))) попроси min@y™ - он за пиво все задачки решит. ну а если действительно хочешь понимать, то одними вопросами не обойтись "чтобы научиться ездить на велосипеде нужно ездить на велосипеде; чтобы научиться программировать нужно программировать".
Ⓐ свобода сопротивление солидарность
Иринчик

Иринчик (статус: Посетитель), 10 января 2011, 18:04 [#8]:

я все понимаю, мне надо на 3 баллы набрать, там немножко осталось добрать...вот сижу парюсь с этими вопросами, мне в принципе это не надо, просто экзамен надо как то сдать((((
bugmenot

bugmenot (статус: 3-ий класс), 10 января 2011, 19:59 [#9]:

в общем-то надо гистограмму построить, но да, в мире существуют столько интересных специальностей, не связанных с теорией информации.
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

min@y™ (статус: Доктор наук), 11 января 2011, 08:18 [#10]:

Чойта я не совсем понял вопрос. Определять кодировку надо именно визуально? Или написать программу распознавания кодировки?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Иринчик

Иринчик (статус: Посетитель), 11 января 2011, 08:27 [#11]:

визуально определить надо в какой кодировке представлен текст. помогите, пожалуйста!!!
Иринчик

Иринчик (статус: Посетитель), 11 января 2011, 09:58 [#12]:

а как понять в какой он кодировке "на самом деле", и в какой он кодировке просматривается?
min@y™

min@y™ (статус: Доктор наук), 11 января 2011, 10:17 [#13]:

Цитата (Иринчик):

а как понять в какой он кодировке "на самом деле"

Ну, это я в ответе написал.

Цитата (Иринчик):

в какой он кодировке просматривается?

В браузере или другой программе всегда есть меню "кодировка", один пункт которого отмечен галочкой или ещё как-то.
Скриншот:

Ссылка.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Иринчик

Иринчик (статус: Посетитель), 11 января 2011, 10:27 [#14]:

все поняла, спасибо огромное!))))
min@y™

min@y™ (статус: Доктор наук), 11 января 2011, 10:41 [#15]:

Цитата (Иринчик):

все поняла, спасибо огромное!

А где "спасибо"?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Иринчик

Иринчик (статус: Посетитель), 11 января 2011, 10:51 [#16]:

я же написала спасибо огромное!!!
min@y™

min@y™ (статус: Доктор наук), 11 января 2011, 11:11 [#17]:

Цитата (Иринчик):

я же написала спасибо огромное

У нас тут принято оценки за ответы ставить, вообще-то.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
mirt.steelwater

mirt.steelwater (статус: Посетитель), 11 января 2011, 11:28 [#18]:

охохо)))
а я то думал нужно программно определить - а оказалось человек браузером пользоваться не умеет:))))) охохошеньки))))) я под столом))))))
Ⓐ свобода сопротивление солидарность
mirt.steelwater

mirt.steelwater (статус: Посетитель), 11 января 2011, 11:31 [#19]:

а вот про гистограмму я не понял - объясните
Ⓐ свобода сопротивление солидарность
min@y™

min@y™ (статус: Доктор наук), 11 января 2011, 11:42 [#20]:

Цитата (mirt.steelwater):

а вот про гистограмму я не понял - объясните

Короче, это типа анализ вероятностей встречи тех или иных букв в тексте. Используется для автоматического распознавания кодировки текста. Я такое уже писал и даже исходник полностью тут выкладывал не ранее, чем месяц назад.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:41
Выполнено за 0.03 сек.