Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » кодировка (создать тхт. с нужной кодировкой)
кодировка
DEMBELДата: Вт, 01 Сентября 2009, 14:54 | Сообщение # 91
Наш дизайнер
Quote (Alex3A)
что бы делать все преобразавания корректно, вам надо изучить все ньюансы этого бедлама.

ну вот я уже понял что с наскока это не решить. а как с этим дела обстоят в делфи, в плане плагинописания?


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (Alex3A)
что бы делать все преобразавания корректно, вам надо изучить все ньюансы этого бедлама.

ну вот я уже понял что с наскока это не решить. а как с этим дела обстоят в делфи, в плане плагинописания?

Автор - DEMBEL
Дата добавления - 01 Сентября 2009 в 14:54
Alex3AДата: Вт, 01 Сентября 2009, 15:19 | Сообщение # 92
Друг клуба ММВ
С "этим" нет никаких проблем, а в плане плагинописания, делаю только то что мне интересно сделать, и только тогда когда на это есть время и вдохновление.
По сути, кодировки это не есть что то сложное, тем более это не интересно, простые
табличные преобразования, если делать руцями, или применить системные функции.
 
СообщениеС "этим" нет никаких проблем, а в плане плагинописания, делаю только то что мне интересно сделать, и только тогда когда на это есть время и вдохновление.
По сути, кодировки это не есть что то сложное, тем более это не интересно, простые
табличные преобразования, если делать руцями, или применить системные функции.

Автор - Alex3A
Дата добавления - 01 Сентября 2009 в 15:19
AlienДата: Вт, 08 Сентября 2009, 12:32 | Сообщение # 93
У меня при ответе данных POST когдировка кирилицы искажается
Пробовал сделать так:
Code
StrReplace "[txt]" "й" "й" "[txt]"
StrReplace "[txt]" "ц" "ц" "[txt]"
StrReplace "[txt]" "у" "у" "[txt]"
StrReplace "[txt]" "к" "к" "[txt]"
StrReplace "[txt]" "е" "е" "[txt]"
StrReplace "[txt]" "н" "н" "[txt]"
StrReplace "[txt]" "г" "г" "[txt]"
StrReplace "[txt]" "ш" "ш" "[txt]"
StrReplace "[txt]" "щ" "щ" "[txt]"
StrReplace "[txt]" "з" "з" "[txt]"
StrReplace "[txt]" "Ñ…" "х" "[txt]"
StrReplace "[txt]" "ÑŠ" "ъ" "[txt]"
StrReplace "[txt]" "Ñ„" "ф" "[txt]"
StrReplace "[txt]" "Ñ‹" "ы" "[txt]"
StrReplace "[txt]" "в" "в" "[txt]"
StrReplace "[txt]" "а" "а" "[txt]"
StrReplace "[txt]" "п" "п" "[txt]"
StrReplace "[txt]" "Ñ€" "р" "[txt]"
StrReplace "[txt]" "о" "о" "[txt]"
StrReplace "[txt]" "л" "л" "[txt]"
StrReplace "[txt]" "д" "д" "[txt]"
StrReplace "[txt]" "э" "ж" "[txt]"
StrReplace "[txt]" "я" "э" "[txt]"
StrReplace "[txt]" "ч" "я" "[txt]"
StrReplace "[txt]" "с" "ч" "[txt]"
StrReplace "[txt]" "м" "с" "[txt]"
StrReplace "[txt]" "и" "м" "[txt]"
StrReplace "[txt]" "Ñ‚" "и" "[txt]"
StrReplace "[txt]" "ÑŒ" "т" "[txt]"
StrReplace "[txt]" "б" "ь" "[txt]"
StrReplace "[txt]" "ÑŽ" "б" "[txt]"
StrReplace "[txt]" "Ñ‘" "ю" "[txt]"

Но даже элементарное слово "Привет" отображается почти как надо
Quote
Рџригет!


Сообщение отредактировано
Alien - Вт, 08 Сентября 2009, 12:33
 
СообщениеУ меня при ответе данных POST когдировка кирилицы искажается
Пробовал сделать так:
Code
StrReplace "[txt]" "й" "й" "[txt]"
StrReplace "[txt]" "ц" "ц" "[txt]"
StrReplace "[txt]" "у" "у" "[txt]"
StrReplace "[txt]" "к" "к" "[txt]"
StrReplace "[txt]" "е" "е" "[txt]"
StrReplace "[txt]" "н" "н" "[txt]"
StrReplace "[txt]" "г" "г" "[txt]"
StrReplace "[txt]" "ш" "ш" "[txt]"
StrReplace "[txt]" "щ" "щ" "[txt]"
StrReplace "[txt]" "з" "з" "[txt]"
StrReplace "[txt]" "Ñ…" "х" "[txt]"
StrReplace "[txt]" "ÑŠ" "ъ" "[txt]"
StrReplace "[txt]" "Ñ„" "ф" "[txt]"
StrReplace "[txt]" "Ñ‹" "ы" "[txt]"
StrReplace "[txt]" "в" "в" "[txt]"
StrReplace "[txt]" "а" "а" "[txt]"
StrReplace "[txt]" "п" "п" "[txt]"
StrReplace "[txt]" "Ñ€" "р" "[txt]"
StrReplace "[txt]" "о" "о" "[txt]"
StrReplace "[txt]" "л" "л" "[txt]"
StrReplace "[txt]" "д" "д" "[txt]"
StrReplace "[txt]" "э" "ж" "[txt]"
StrReplace "[txt]" "я" "э" "[txt]"
StrReplace "[txt]" "ч" "я" "[txt]"
StrReplace "[txt]" "с" "ч" "[txt]"
StrReplace "[txt]" "м" "с" "[txt]"
StrReplace "[txt]" "и" "м" "[txt]"
StrReplace "[txt]" "Ñ‚" "и" "[txt]"
StrReplace "[txt]" "ÑŒ" "т" "[txt]"
StrReplace "[txt]" "б" "ь" "[txt]"
StrReplace "[txt]" "ÑŽ" "б" "[txt]"
StrReplace "[txt]" "Ñ‘" "ю" "[txt]"

Но даже элементарное слово "Привет" отображается почти как надо
Quote
Рџригет!

Автор - Alien
Дата добавления - 08 Сентября 2009 в 12:32
Alex3AДата: Вт, 08 Сентября 2009, 13:07 | Сообщение # 94
Друг клуба ММВ
Quote (Alien)
У меня при ответе данных POST когдировка кирилицы искажается

POST или гет это только методы передачи данных от клиента серверу, и кодировка ответа не зависит от применяемого метода, если конечно в серверном сценарии специально не
предусмотрена такая фича.
Сколько можно повторять, что при перекодировке следует работать с кодами символов а не с самими символами, изображение символа может быть одинаково, а их кода разными.
Правильное определение пришедшей кодировки залог для правильной конвертации.
Корректность преобразований можно определить в хекс редакторе.
 
Сообщение
Quote (Alien)
У меня при ответе данных POST когдировка кирилицы искажается

POST или гет это только методы передачи данных от клиента серверу, и кодировка ответа не зависит от применяемого метода, если конечно в серверном сценарии специально не
предусмотрена такая фича.
Сколько можно повторять, что при перекодировке следует работать с кодами символов а не с самими символами, изображение символа может быть одинаково, а их кода разными.
Правильное определение пришедшей кодировки залог для правильной конвертации.
Корректность преобразований можно определить в хекс редакторе.

Автор - Alex3A
Дата добавления - 08 Сентября 2009 в 13:07
AlienДата: Вт, 08 Сентября 2009, 13:27 | Сообщение # 95
Quote (Alex3A)
POST или гет это только методы передачи данных от клиента серверу, и кодировка ответа не зависит от применяемого метода, если конечно в серверном сценарии специально не
предусмотрена такая фича.

Это ты к чему? Я просто сказал что это от ответа post, а не при открытии какого то файла.
 
Сообщение
Quote (Alex3A)
POST или гет это только методы передачи данных от клиента серверу, и кодировка ответа не зависит от применяемого метода, если конечно в серверном сценарии специально не
предусмотрена такая фича.

Это ты к чему? Я просто сказал что это от ответа post, а не при открытии какого то файла.

Автор - Alien
Дата добавления - 08 Сентября 2009 в 13:27
DEMBELДата: Вт, 08 Сентября 2009, 13:35 | Сообщение # 96
Наш дизайнер
Это к тому, что надо вначале узнать, в какой кодировке возвращаются данные post (может, вообще кириллица не поддерживается кодировкой, вот и возвращает всякий мусор), а затем уже видно будет как перекодировать чтобы получить нормальную кириллицу.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
СообщениеЭто к тому, что надо вначале узнать, в какой кодировке возвращаются данные post (может, вообще кириллица не поддерживается кодировкой, вот и возвращает всякий мусор), а затем уже видно будет как перекодировать чтобы получить нормальную кириллицу.

Автор - DEMBEL
Дата добавления - 08 Сентября 2009 в 13:35
Alex3AДата: Вт, 08 Сентября 2009, 14:32 | Сообщение # 97
Друг клуба ММВ
Quote (DEMBEL)
в какой кодировке возвращаются данные post

Корректней будет - ответ сервера.
То что пришло, сохрани в файл, без всяких изменений. Переименуй его в хтмл,
загрузи в браузер, поиграйся с "вид - кодировка".
 
Сообщение
Quote (DEMBEL)
в какой кодировке возвращаются данные post

Корректней будет - ответ сервера.
То что пришло, сохрани в файл, без всяких изменений. Переименуй его в хтмл,
загрузи в браузер, поиграйся с "вид - кодировка".

Автор - Alex3A
Дата добавления - 08 Сентября 2009 в 14:32
AlienДата: Вт, 08 Сентября 2009, 16:04 | Сообщение # 98
Ответ сервера скорее всего в кодировке CP1251
А нужен UTF8
Quote
сентября = сентября

http://www.artlebedev.ru/tools/decoder/
Как можно декодировку сразу сделать?
 
СообщениеОтвет сервера скорее всего в кодировке CP1251
А нужен UTF8
Quote
сентября = сентября

http://www.artlebedev.ru/tools/decoder/
Как можно декодировку сразу сделать?

Автор - Alien
Дата добавления - 08 Сентября 2009 в 16:04
Alex3AДата: Вт, 08 Сентября 2009, 17:51 | Сообщение # 99
Друг клуба ММВ
Quote (Alien)
Как можно декодировку сразу сделать?

А что такое сразу?
Выше указанная страничка пересылает текст для перекодировки серверному сценарию.
 
Сообщение
Quote (Alien)
Как можно декодировку сразу сделать?

А что такое сразу?
Выше указанная страничка пересылает текст для перекодировки серверному сценарию.

Автор - Alex3A
Дата добавления - 08 Сентября 2009 в 17:51
AlienДата: Вт, 08 Сентября 2009, 18:06 | Сообщение # 100
Страница сайта допустим в переменной [text], эту переменную нужно обработать чтобы кириллица отображалась, без сохранения в файл и прочего...
 
СообщениеСтраница сайта допустим в переменной [text], эту переменную нужно обработать чтобы кириллица отображалась, без сохранения в файл и прочего...

Автор - Alien
Дата добавления - 08 Сентября 2009 в 18:06
Alex3AДата: Вт, 08 Сентября 2009, 18:52 | Сообщение # 101
Друг клуба ММВ
1.Точно знать какая кодировка.
2.провести преобразования.
сентября - двухбайтовый текст, каждая буква описана 2 байтами.
Надо получить коды символов и преобразовать их в UTF8
Code
http://www.pvobr.ru/srv_forum/forumtheme.asp?fid=90
 
Сообщение1.Точно знать какая кодировка.
2.провести преобразования.
сентября - двухбайтовый текст, каждая буква описана 2 байтами.
Надо получить коды символов и преобразовать их в UTF8
Code
http://www.pvobr.ru/srv_forum/forumtheme.asp?fid=90

Автор - Alex3A
Дата добавления - 08 Сентября 2009 в 18:52
ВадимДата: Чт, 03 Июня 2010, 02:31 | Сообщение # 102
Генератор идей
Такой вопрос про кодировки и NB созрел:

В моем NB-проекте есть поля для вставки текста и предполагается, что пользователь из совершенно любых источников (их любых файлов, сайтов и пр., а значит в любой родной кодировке) должен скопировать в эти поля текст. Так вот, этот текст окажется в окне проги в кодировке 1251 или в своей родной кодировке?

Правильно ли я понимаю, что сама Windows в буфере обмена кодировку никак не пытается менять, а только "циферь" берет и отдаёт? Или правильнее было бы спросить: Копируется/Вставляется хекс или представление?

Или в момент вставки из буфера винда (в соответствии с кодировкой содержимого буфера) вставляет уже не цифирь, а само представление данных, в кодировке по умолчанию, т.е. в соответствии с "родной" кодировкой, но уже, на самом деле, в кодировке 1251? Таким образом в окне NB-проекта мы имеем представление данных, описанных некогда в какой-то кодировке, но теперь описанных в 1251?



Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
СообщениеТакой вопрос про кодировки и NB созрел:

В моем NB-проекте есть поля для вставки текста и предполагается, что пользователь из совершенно любых источников (их любых файлов, сайтов и пр., а значит в любой родной кодировке) должен скопировать в эти поля текст. Так вот, этот текст окажется в окне проги в кодировке 1251 или в своей родной кодировке?

Правильно ли я понимаю, что сама Windows в буфере обмена кодировку никак не пытается менять, а только "циферь" берет и отдаёт? Или правильнее было бы спросить: Копируется/Вставляется хекс или представление?

Или в момент вставки из буфера винда (в соответствии с кодировкой содержимого буфера) вставляет уже не цифирь, а само представление данных, в кодировке по умолчанию, т.е. в соответствии с "родной" кодировкой, но уже, на самом деле, в кодировке 1251? Таким образом в окне NB-проекта мы имеем представление данных, описанных некогда в какой-то кодировке, но теперь описанных в 1251?


Автор - Вадим
Дата добавления - 03 Июня 2010 в 02:31
Alex3AДата: Чт, 03 Июня 2010, 04:05 | Сообщение # 103
Друг клуба ММВ
При копировании, скажем так, копируются не символы а их коды, которые и есть текст,
собственно надо различать кодировку символов и прочую требуху, кодировка это одно,
ее можно проверить посмотрев варианты файла в хекс редакторе, к стати, во многих
хексах есть возможность(с лева идут коды символов, с права их символьная интерпритация) просмотреть текст в разной интерпритации. 1251 и прочая вроде всегда были кодовые страницы, то есть, не кодировка а представление, то биш внешний вид символов. Представь себе пленку с кадрами, это таблица символов-код символа и его
вид, на одном кадре(диапазон кодов) вырезано окошко, через которое протягивается
другая пленка, содержащая внешний вид того или иного алфавита, которая продвигается
по нужде, то есть продвинув ее мы получаем другой внешний вид для одних и тех же кодов. Таким образом,сам текст это просто коды, которые тож имеют определенную систему
кодирования, однобайтная, двухбайтная, а елемент визуализации этого кода, обладает
информацией как эти коды показывать,какая кодовая страница, фонт, размер...
Некоторые штуки (типа умные :D )могут при манипуляциях менять вставляемые из буфера обмена коды, навсегда портя исходный текст.
По этому есть по крайней мере два способа борьбы, первый-типа научного тыка, попробовать разобратся опытным путем, второй изучить всю эту кухню, и пользоватся
правочной информацией, третий, совместить оба подхода.
В виду имеющегося положения вещей, процес иногда бывает не совсем простым :D
Что касаемо хтмл и его всякия полей ввода и проч, то оно жутко не любит руской кодировки и норовит ея перекодировать, заставить ее передать текст как есть может
соответствующий атрибут в теге форм(enctype).
Итого, текст(смвол), то что мы видим, можно представить в виде многослойного пирога, где каждый слой отвечает за ту или иную его характеристику, поменял в пироге прослойку, получил иной его вид.
 
СообщениеПри копировании, скажем так, копируются не символы а их коды, которые и есть текст,
собственно надо различать кодировку символов и прочую требуху, кодировка это одно,
ее можно проверить посмотрев варианты файла в хекс редакторе, к стати, во многих
хексах есть возможность(с лева идут коды символов, с права их символьная интерпритация) просмотреть текст в разной интерпритации. 1251 и прочая вроде всегда были кодовые страницы, то есть, не кодировка а представление, то биш внешний вид символов. Представь себе пленку с кадрами, это таблица символов-код символа и его
вид, на одном кадре(диапазон кодов) вырезано окошко, через которое протягивается
другая пленка, содержащая внешний вид того или иного алфавита, которая продвигается
по нужде, то есть продвинув ее мы получаем другой внешний вид для одних и тех же кодов. Таким образом,сам текст это просто коды, которые тож имеют определенную систему
кодирования, однобайтная, двухбайтная, а елемент визуализации этого кода, обладает
информацией как эти коды показывать,какая кодовая страница, фонт, размер...
Некоторые штуки (типа умные :D )могут при манипуляциях менять вставляемые из буфера обмена коды, навсегда портя исходный текст.
По этому есть по крайней мере два способа борьбы, первый-типа научного тыка, попробовать разобратся опытным путем, второй изучить всю эту кухню, и пользоватся
правочной информацией, третий, совместить оба подхода.
В виду имеющегося положения вещей, процес иногда бывает не совсем простым :D
Что касаемо хтмл и его всякия полей ввода и проч, то оно жутко не любит руской кодировки и норовит ея перекодировать, заставить ее передать текст как есть может
соответствующий атрибут в теге форм(enctype).
Итого, текст(смвол), то что мы видим, можно представить в виде многослойного пирога, где каждый слой отвечает за ту или иную его характеристику, поменял в пироге прослойку, получил иной его вид.

Автор - Alex3A
Дата добавления - 03 Июня 2010 в 04:05
ВадимДата: Чт, 03 Июня 2010, 04:32 | Сообщение # 104
Генератор идей
Quote (Alex3A)
В виду имеющегося положения вещей, процес иногда бывает не совсем простым

Да, по ходу надо как-то будет разобраться в этом...
Я вот думаю, если NB сама кодировку переназначает принимая из буфера текст, то полученные фрагменты текстов можно корректно сравнивать на объем (в байтах), а вот если кодировка остается разной, то одно и тоже число символов будет занимать различное количество байт... И тогда корректно сравнивать тексты по размеру уже не удастся, нужно приводить к одной кодировке...
Наверное чтобы узнать как в этом отношении обстоят дела с NB проще всего написать самим разработчикам...

Однако, подождем, что скажет Peter.


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Alex3A)
В виду имеющегося положения вещей, процес иногда бывает не совсем простым

Да, по ходу надо как-то будет разобраться в этом...
Я вот думаю, если NB сама кодировку переназначает принимая из буфера текст, то полученные фрагменты текстов можно корректно сравнивать на объем (в байтах), а вот если кодировка остается разной, то одно и тоже число символов будет занимать различное количество байт... И тогда корректно сравнивать тексты по размеру уже не удастся, нужно приводить к одной кодировке...
Наверное чтобы узнать как в этом отношении обстоят дела с NB проще всего написать самим разработчикам...

Однако, подождем, что скажет Peter.


Автор - Вадим
Дата добавления - 03 Июня 2010 в 04:32
Alex3AДата: Чт, 03 Июня 2010, 05:30 | Сообщение # 105
Друг клуба ММВ
Все довольно просто, есть скажем поле ввода, куда мы будем вставлять из буфера текст.
В изначальном варианте(ну так, чисто условно), оно ну никак не реагирует, то что дали то и покажет как сможет. Как мы уже знаем, такие вещи имеют ряд событий, в том числе и по вставке текста, вот какой либо програмер сделал, в обработчике события, какой либо анализ введенного, подстраивая его под нормативы элемента ввода, получился елемент с какой то своей внутренней логикой, причем эта обработка может быть устроена на любом уровне, начиная с биоса и кончая твоими потугами.
Сам процес является многозвенным, и прижелании возможно нафулиганить на любом его
уровне. Я то потому и не очень люблю винду, из за ее излишней бутербродности, всю цепочку от начала и до конца представить ваще невозможно. Ну немного пофантазируем :D
Есть скажем драйвер клавы уровня ядра, а технологии в винде позволяют устраивать цепочки всевозможных обработчиков, построим какую либо цепь, потом перейдем на уровень выше- апи, там тоже наплетем цепочек.., потом уровень за уровнем, так что хрен его знает что к тебе попадет :D
Ну не бери близко к сердцу :D обычно принято воспринимать такие вещи в виде черного
ящика, что то в него ложат и что то вынимают, не заботясь о том что же там в нем
происходит. Это я к тому что акромя вполне известных вещей могет быть еще куча разныйх подарков, ну сам понимаеш, это уже отступление для маньяка :D
Quote (Вадим)
Наверное чтобы узнать как в этом отношении обстоят дела с NB проще всего написать самим разработчикам...

Порой быват что это может не зависить от разработчиков, какая либо паганая гейма
коряво сделанная, может прилично нагадить :D
И вообще быстрее и полезнее будет проверить такое самому эксперементально.
 
СообщениеВсе довольно просто, есть скажем поле ввода, куда мы будем вставлять из буфера текст.
В изначальном варианте(ну так, чисто условно), оно ну никак не реагирует, то что дали то и покажет как сможет. Как мы уже знаем, такие вещи имеют ряд событий, в том числе и по вставке текста, вот какой либо програмер сделал, в обработчике события, какой либо анализ введенного, подстраивая его под нормативы элемента ввода, получился елемент с какой то своей внутренней логикой, причем эта обработка может быть устроена на любом уровне, начиная с биоса и кончая твоими потугами.
Сам процес является многозвенным, и прижелании возможно нафулиганить на любом его
уровне. Я то потому и не очень люблю винду, из за ее излишней бутербродности, всю цепочку от начала и до конца представить ваще невозможно. Ну немного пофантазируем :D
Есть скажем драйвер клавы уровня ядра, а технологии в винде позволяют устраивать цепочки всевозможных обработчиков, построим какую либо цепь, потом перейдем на уровень выше- апи, там тоже наплетем цепочек.., потом уровень за уровнем, так что хрен его знает что к тебе попадет :D
Ну не бери близко к сердцу :D обычно принято воспринимать такие вещи в виде черного
ящика, что то в него ложат и что то вынимают, не заботясь о том что же там в нем
происходит. Это я к тому что акромя вполне известных вещей могет быть еще куча разныйх подарков, ну сам понимаеш, это уже отступление для маньяка :D
Quote (Вадим)
Наверное чтобы узнать как в этом отношении обстоят дела с NB проще всего написать самим разработчикам...

Порой быват что это может не зависить от разработчиков, какая либо паганая гейма
коряво сделанная, может прилично нагадить :D
И вообще быстрее и полезнее будет проверить такое самому эксперементально.

Автор - Alex3A
Дата добавления - 03 Июня 2010 в 05:30
ВадимДата: Пт, 04 Июня 2010, 02:37 | Сообщение # 106
Генератор идей
Quote (Alex3A)
полезнее будет проверить такое самому
Согласен.
Попробовал сделать следующее:
1) открыл свою прогу и накопировал в поле для вставки текста символы из файла "koi8r.txt" (файл взял в этой теме, из архива Alex3A)

2) сохранил результаты (из переменной поля для вставки) в .txt

3) открыл файл.txt в редакторе NOTEPAD++, обнаружил, что кодировка KOI8-R и сохранилась (следовательно, NB оставляет кодировку КАК ЕСТЬ).

4) в разные поля своей проги поместил текст в разных кодировках (ANSI и KOI8-R), сохранил содержимое переменных в один файл.txt, далее, открыв в блокноте NOTEPAD++ обнаружил, что сохраненные строки сохранили свою кодировку (это видно - при выборе отображения ANSI читабельны одни строки, а при выборе KOI8-R - читабельными становятся другие строки, а прежние перестают читаться...). Выходит, что разные кодировки могут присутствовать в одном файле? %)
Или это уже не кодировки, а так сказать ссылки на наборы символов разные?

5) проверил на размер файла, сохранив один и тот же текст - в KOI8-R и в ANSI в разные файлы. Размеры файлов получаются равными по байтам - по 189 байт (только KOI8-R не читабелен), однако, после выбора кодировки KOI8-R в NOTEPAD++ (чтобы текст читался) наблюдаем увеличение количества байт практически вдвое (279 против 189 байт, в моем примере). Однако, после закрытия файла кодировка опять возвращается в ANSI и размер файла вновь маленький (т.е. выбор кодировки в NOTEPAD++ только временно применяет ее для отображения, а для преобразования там нужно использовать команду именно преобразования кодировки).

Выходит, что NB сохраняет исходную кодировку фрагментов текста (сохраненных в один файл) "как есть", но для всего файла в целом по умолчанию оставляет ANSI. Соответственно размер файлов считается по ANSI.

Если я правильно понимаю, это означает, что если текст в файле не читается, то он либо не ANSI, либо в кодировке не совместимой с ANSI.
А если текст не читается, то его и пихать в прогу смысла нет, а если читается, то в представлении ANSI все равно будет занимать такой же размер как и текст в ANSI. Следовательно можно не напрягаться по поводу того, что на предмет размера сравниваемые файлы находятся в разных кодировках. Можно смело копировать от куда угодно фрагменты текста в проект NB, лишь бы он в окне самого приложения отображался, и получаемые файлы можно смело сравнивать - размер от кодировки зависеть не будет.
Alex3A, я "где-то рядом" с истиной? :D

Причем любопытно, во всех случаях NOTEPAD++ (в отличие от NB) показывает, что размер файла больше на 8 байт, чем количество символов в файле %) . Считает в размер еще и название файла, а NB не считает?

Кстати, чудесным оказался этот NOTEPAD++!
Бесплатный, русифицированный, встраивается по желанию в контекстное меню проводника, показывает море кодировок, в строке состояния отображает и кодировку и число символов, и байты, и вообще что только не поддерживает (синтаксисы языков программирования, макросы и т.д. и т.п.)... Жаль только файл справки на англицком... Может у кого есть на русском? В этом, с позволения сказать, блокноте... просто море возможностей!
Если кто не знаком с этой прогой - очень рекомендую!

Скачать русифицированный NOTEPAD++ можно с официального сайта разработчика (включая англ. файл справки и доп.плагины)

Скриншоты программы NOTEPAD++


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
 
Сообщение
Quote (Alex3A)
полезнее будет проверить такое самому
Согласен.
Попробовал сделать следующее:
1) открыл свою прогу и накопировал в поле для вставки текста символы из файла "koi8r.txt" (файл взял в этой теме, из архива Alex3A)

2) сохранил результаты (из переменной поля для вставки) в .txt

3) открыл файл.txt в редакторе NOTEPAD++, обнаружил, что кодировка KOI8-R и сохранилась (следовательно, NB оставляет кодировку КАК ЕСТЬ).

4) в разные поля своей проги поместил текст в разных кодировках (ANSI и KOI8-R), сохранил содержимое переменных в один файл.txt, далее, открыв в блокноте NOTEPAD++ обнаружил, что сохраненные строки сохранили свою кодировку (это видно - при выборе отображения ANSI читабельны одни строки, а при выборе KOI8-R - читабельными становятся другие строки, а прежние перестают читаться...). Выходит, что разные кодировки могут присутствовать в одном файле? %)
Или это уже не кодировки, а так сказать ссылки на наборы символов разные?

5) проверил на размер файла, сохранив один и тот же текст - в KOI8-R и в ANSI в разные файлы. Размеры файлов получаются равными по байтам - по 189 байт (только KOI8-R не читабелен), однако, после выбора кодировки KOI8-R в NOTEPAD++ (чтобы текст читался) наблюдаем увеличение количества байт практически вдвое (279 против 189 байт, в моем примере). Однако, после закрытия файла кодировка опять возвращается в ANSI и размер файла вновь маленький (т.е. выбор кодировки в NOTEPAD++ только временно применяет ее для отображения, а для преобразования там нужно использовать команду именно преобразования кодировки).

Выходит, что NB сохраняет исходную кодировку фрагментов текста (сохраненных в один файл) "как есть", но для всего файла в целом по умолчанию оставляет ANSI. Соответственно размер файлов считается по ANSI.

Если я правильно понимаю, это означает, что если текст в файле не читается, то он либо не ANSI, либо в кодировке не совместимой с ANSI.
А если текст не читается, то его и пихать в прогу смысла нет, а если читается, то в представлении ANSI все равно будет занимать такой же размер как и текст в ANSI. Следовательно можно не напрягаться по поводу того, что на предмет размера сравниваемые файлы находятся в разных кодировках. Можно смело копировать от куда угодно фрагменты текста в проект NB, лишь бы он в окне самого приложения отображался, и получаемые файлы можно смело сравнивать - размер от кодировки зависеть не будет.
Alex3A, я "где-то рядом" с истиной? :D

Причем любопытно, во всех случаях NOTEPAD++ (в отличие от NB) показывает, что размер файла больше на 8 байт, чем количество символов в файле %) . Считает в размер еще и название файла, а NB не считает?

Кстати, чудесным оказался этот NOTEPAD++!
Бесплатный, русифицированный, встраивается по желанию в контекстное меню проводника, показывает море кодировок, в строке состояния отображает и кодировку и число символов, и байты, и вообще что только не поддерживает (синтаксисы языков программирования, макросы и т.д. и т.п.)... Жаль только файл справки на англицком... Может у кого есть на русском? В этом, с позволения сказать, блокноте... просто море возможностей!
Если кто не знаком с этой прогой - очень рекомендую!

Скачать русифицированный NOTEPAD++ можно с официального сайта разработчика (включая англ. файл справки и доп.плагины)

Скриншоты программы NOTEPAD++


Автор - Вадим
Дата добавления - 04 Июня 2010 в 02:37
PeterДата: Пт, 04 Июня 2010, 04:53 | Сообщение # 107
Админ NeoBook
Quote (Вадим)
Однако, подождем, что скажет Peter.

А что Peter?
Peter никогда и не вникал с дебри всех этих кодировок, т.к. просто не надо было ни разу! :D
И самое главное, Peter никак не может понять: КАКОЙ СМЫСЛ СРАВНИВАТЬ РАЗМЕРЫ ФАЙЛОВ?
%)
"Детектор кодировки", что ли?
:D
Абсолютно надежных гарантий правильного отображения текстов нет, т.к.:
Quote (Alex3A)
паганая гейма
коряво сделанная, может прилично нагадить

ИСТИНА! thumbs_up

Если потребуется изменение кодировки текста, то теоретически это можно реализовать при помощи плагина (частично уже есть), но вот как быть с автоматическим распознаванием кодировки...
Пока не знаю....


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Вадим)
Однако, подождем, что скажет Peter.

А что Peter?
Peter никогда и не вникал с дебри всех этих кодировок, т.к. просто не надо было ни разу! :D
И самое главное, Peter никак не может понять: КАКОЙ СМЫСЛ СРАВНИВАТЬ РАЗМЕРЫ ФАЙЛОВ?
%)
"Детектор кодировки", что ли?
:D
Абсолютно надежных гарантий правильного отображения текстов нет, т.к.:
Quote (Alex3A)
паганая гейма
коряво сделанная, может прилично нагадить

ИСТИНА! thumbs_up

Если потребуется изменение кодировки текста, то теоретически это можно реализовать при помощи плагина (частично уже есть), но вот как быть с автоматическим распознаванием кодировки...
Пока не знаю....


Автор - Peter
Дата добавления - 04 Июня 2010 в 04:53
Alex3AДата: Пт, 04 Июня 2010, 10:26 | Сообщение # 108
Друг клуба ММВ
Quote (Peter)
Пока не знаю....

А кто знает? Даже когда вордом открываеш какой либо непонятный файл, он предлагает
тебе выбрать приемлимую кодировку. В хтмл хоть тег есть, указывающий как его смотреть, хоть и не все его ставят. Получается что спасение утопающего дело рук самого утопающего :D Конечно, в ряде случаев как то определить иногда и можно, я уж говорил что некоторые форматы имеют дескрипторы кодировки, но это формат файлов, а не
текста в буфере обмена.
Quote (Вадим)
Причем любопытно, во всех случаях NOTEPAD++ (в отличие от NB) показывает, что размер файла больше на 8 байт, чем количество символов в файле
:D
А какой размер текстового файла с одной буквой?
 
Сообщение
Quote (Peter)
Пока не знаю....

А кто знает? Даже когда вордом открываеш какой либо непонятный файл, он предлагает
тебе выбрать приемлимую кодировку. В хтмл хоть тег есть, указывающий как его смотреть, хоть и не все его ставят. Получается что спасение утопающего дело рук самого утопающего :D Конечно, в ряде случаев как то определить иногда и можно, я уж говорил что некоторые форматы имеют дескрипторы кодировки, но это формат файлов, а не
текста в буфере обмена.
Quote (Вадим)
Причем любопытно, во всех случаях NOTEPAD++ (в отличие от NB) показывает, что размер файла больше на 8 байт, чем количество символов в файле
:D
А какой размер текстового файла с одной буквой?

Автор - Alex3A
Дата добавления - 04 Июня 2010 в 10:26
ВадимДата: Пт, 04 Июня 2010, 11:56 | Сообщение # 109
Генератор идей


Quote (Alex3A)
А какой размер текстового файла с одной буквой?
т.е. это дескриптор кодировки место занимает (неразрывный пробел нулевого размера)? Но в
ANSI его же быть не должно, если я правильно помню...


Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)

Сообщение отредактировано
Вадим - Сб, 05 Июня 2010, 02:38
 
Сообщение


Quote (Alex3A)
А какой размер текстового файла с одной буквой?
т.е. это дескриптор кодировки место занимает (неразрывный пробел нулевого размера)? Но в
ANSI его же быть не должно, если я правильно помню...

Автор - Вадим
Дата добавления - 04 Июня 2010 в 11:56
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » кодировка (создать тхт. с нужной кодировкой)
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск: