Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Офтопик > Некоммерческие проекты
Перезагрузить страницу Русская альтернатива UTF-8
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Svyatozar Svyatozar вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.03.2005
По умолчанию Русская альтернатива UTF-8 - 15.08.2005, 02:47

Здравия!

Есть идея изменить маленько UTF-8 чтобы русские буквы помещались в байт. Мне это надо самому для написания форума, ну и вот думаю,может еще кому пригодится...

Идея простая. То же что и UTF-8, но флаг помещается не в 8-й бит байта, а с 7 байт в отдельном, восьмом байте, составляя 64-битный блок.

Кроме того, 64-й бит по умолчанию выставляется в 1, таким образом значение 0x00 остается прежним - конец строки, и вся кодировка полностью совместима с библиотекой stdio.h, которую я очень люблю...

Далее, если 64-й бит все же 0, то это трактуется так: вся строка написана в кодировке ASCII. Единственное условие, текст должен быть выровнен по границе 64-битных блоков.

Самое интересное что в первый байт кодировки можно поместить Русские буквы. Мне для моих целей нужна Кириллица, строчные буквы Глаголицы. Еще место останется для Греческого (используется в физике и математике), и возможно даже Футарк - для любителей RPG игр.

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

Предложения/пожелания?

Успехов!
Ответить с цитированием
  (#2 (permalink)) Старый
SiMM SiMM вне форума
Member
 
Сообщений: 1,961
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2003
По умолчанию Re: Русская альтернатива UTF-8 - 15.08.2005, 08:22

Цитата:
Originally posted by Svyatozar
[b]Предложения/пожелания?
Забить. UTF-8 - это стандарт. О недоUTF-8 ни одна существующая программа не имеет понятия. Если каждая страна начнёт активно клепать недоUTF-8 под свой национальный язык, в итоге придём к тому состоянию, в котором были раньше - туева хуча кодировок и полная взаимная несовместимость программного обеспечения. Либо же сложность поддержки. Вообще напоминает времена, когда создавались ассембрелы с мнемониками на русском языке. Бред полнейший. Хотите один байт на символ - юзайте CP1251. Можете доработать его под себя для дополнительных символов кириллицы (если хватит - в противном случае в вашей недоUTF-8 они тоже не один байт занимать будут).
Ответить с цитированием
  (#3 (permalink)) Старый
Horrible Horrible вне форума
Member
 
Сообщений: 24
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 20.05.2005
По умолчанию 15.08.2005, 14:28

ИМХО нужен стандарт и UTF8 претендует им стать. хрен с ними с восемью битами, главное чтобы кодирвка была одна и универсальная.
Ответить с цитированием
  (#4 (permalink)) Старый
Svyatozar Svyatozar вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.03.2005
По умолчанию Re: Русская альтернатива UTF-8 - 15.08.2005, 19:16

Цитата:
Originally posted by SiMM
[b]Вообще напоминает времена, когда создавались ассембрелы с мнемониками на русском языке. Бред полнейший. Хотите один байт на символ - юзайте CP1251. Можете доработать его под себя для дополнительных символов кириллицы (если хватит - в противном случае в вашей недоUTF-8 они тоже не один байт занимать будут).
Русский ассемблер - конечно бред. Но вот вы мне советуете модифицировать CP1251, локальную кодировку. Почему не модифицировать юникодовую кодировку раз уж на то пошло?

А так мне лучше транслит использовать в UTF8. Тоже, в принципе неплохая идея...
Ответить с цитированием
  (#5 (permalink)) Старый
SiMM SiMM вне форума
Member
 
Сообщений: 1,961
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2003
По умолчанию Re: Русская альтернатива UTF-8 - 15.08.2005, 20:44

Цитата:
Originally posted by Svyatozar
[b]Но вот вы мне советуете модифицировать CP1251, локальную кодировку.
Я не советую. Это как вариант. Если уж вы прицепились к "однобайтовости". Стандартный русский там и так есть. Остальное - для "извратов" типа "буквы Глаголицы, Футарк"
Цитата:
Почему не модифицировать юникодовую кодировку раз уж на то пошло?
А зачем? Массу недостатков, к примеру, я знаю - а вот в качестве достоинств, извините, ничего назвать не могу. Текст в два раза длиннее получается? Ну и что. Сейчас вопрос памяти мало кого волнует. А вот это вот
Цитата:
Идея простая. То же что и UTF-8, но флаг помещается не в 8-й бит байта, а с 7 байт в отдельном, восьмом байте, составляя 64-битный блок.
имхо, извращение ещё то. Я бы ещё понял, если бы вы попытались задействовать под кириллицу коды 0x80-0xBF (получится что-то близкое к CP866; изначально в UTF-8 эти коды могут находиться только за префиксом с кодом, не меньшим 0xC0) - но даже это продвигать как стандарт - ИМХО, не разумно. Для себя, какой-то своей задачки - да, может и можно. Но стандартом это никогда не будет.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Svyatozar Svyatozar вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.03.2005
По умолчанию Re: Русская альтернатива UTF-8 - 16.08.2005, 10:30

Цитата:
Originally posted by SiMM
[b]Остальное - для "извратов" типа "буквы Глаголицы, Футарк"
С тем что они нечасто используются согласен. Но "извратом" меня еще никто не обзывал. Я тут пытаюсь публиковать тексты на Глаголице чтобы пробудить в людях интерес к истории, чтобы хоть какая-то надежда была что потомки когда-нибудь осознают свое место в мире, а не станут волочиться как цыгане, воруя излишки технологий для пиратской индустрии, пытаясь поудобней подстроиться под чужую идеологию. Почему мы как нищие должны воровать технологии запада, с усердием переводить документацию и пытаться потом на деньги западных алигархов писать для них на ломаном английском программы, глядя как уезжают туда лучшие разработчики? Я тут радею за пробуждение памяти о героических Предках Славян, а меня за это называют извращенцем. Очень мило.

Что касается ненужности 64-битного выравнивания, я тоже согласен. Пожалуй, я применю другой вариант, связанный с модификацией ASCII-части UTF-8. Помещу туда кириллицу и будет (предварительный макет кодовой таблицы у меня уже готов.) А что до создания стандартов - такой задачи у меня нет. Мне нужна кодировка для личного использования, для создания форума. Просто думал, может кому еще пригодится для рукодельных баз данных...
Ответить с цитированием
  (#7 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 16.08.2005, 11:05

О чем речь?
Если нужен малый размер - меньше байта смысла нет, а байтовых кодировок и так выше крыши. Если нужен набор левых символов - тогда юникод.
Ответить с цитированием
  (#8 (permalink)) Старый
Svyatozar Svyatozar вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.03.2005
По умолчанию 16.08.2005, 11:23

Цитата:
Originally posted by Dian
[b]О чем речь?
Если нужен малый размер - меньше байта смысла нет, а байтовых кодировок и так выше крыши. Если нужен набор левых символов - тогда юникод.
Лично для меня кириллица - не есть набор левых символов. И потом, я юникод всяко буду использовать, вопрос не в этом... И в байт кириллицу вмещу. Если кому интересно как, я на почту скину подробности... Это другой метод, не тот что описан в начале темы.

Я не прошу поддержки - просто советуюсь как лучше сделать промежуточный формат для хранения в базе данных...
Ответить с цитированием
  (#9 (permalink)) Старый
SiMM SiMM вне форума
Member
 
Сообщений: 1,961
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2003
По умолчанию Re: Русская альтернатива UTF-8 - 16.08.2005, 11:42

Цитата:
Originally posted by Svyatozar
[b]Но "извратом" меня еще никто не обзывал.
Я даже специально слово это в кавычки взял
Цитата:
Почему мы как нищие должны воровать технологии запада
Слишком категорично, ИМХО.
Цитата:
Мне нужна кодировка для личного использования, для создания форума. Просто думал, может кому еще пригодится для рукодельных баз данных...
Ну вот. Собственно уже проблема. Если при использовании UTF-8 было бы достаточно использовать уже готовое ПО в качестве сервера БД, то здесь придётся ещё и свою БД делать. Трудоёмко
Цитата:
И в байт кириллицу вмещу. Если кому интересно как, я на почту скину подробности... Это другой метод, не тот что описан в начале темы.
Дык описали бы здесь - чего стесняться? Мож кому и пригодится. А может опять закритикуют
Ответить с цитированием
  (#10 (permalink)) Старый
Svyatozar Svyatozar вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.03.2005
По умолчанию Re: Русская альтернатива UTF-8 - 18.08.2005, 06:23

Цитата:
Originally posted by SiMM
[b]Дык описали бы здесь - чего стесняться? Мож кому и пригодится. А может опять закритикуют
Хорошо, я опишу как только решу проблему заглавных букв и альтернативных символов. План такой: ввести управляющий код "shift" для указания что следующая буква заглавная и код 'alt' сообщяющий об альтернативном начертании (в Глаголице). Таким образом на Глаголицу будет отведено те же 2 байта, но зато упрощается транслитерация и сортировка Глаголицы... игнорируя два этих кода можно упразднить различия без использования дополнительных таблиц...

Конечно для вывода информации в UTF-8 нужно делать дополнительный перевод. Но зато самые критические процессы - сортировка и поиск - будут упрощены гораздо.

Что значит делать свою базу данных? Лично я храню данные в файлах, но на это есть другие причины. Можно хранить и в базе данных, если они поддерживают кодировку UTF-8. Просто при сортировке заглавные буквы пойдут в начало. Если нужна своя сортировка - можно написать плагин на С++. Не знаю как MySQL, но Postgre позволяет это сделать. Если кому это надо, я сам сделаю такой плагин....

Сейчас я пока уточняю расположение букв в области ASCII. Не хочется вводить людей в заблуждение, выкладывая недоделанную кодировку... Да и потом, я не понял, надо ли это кому-то еще? Если надо, то я готов обсудить детали, чтобы учесть нужды заинтересованных людей...
Ответить с цитированием
  (#11 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 18.08.2005, 07:59

Использовать целый байт на то, на что всегда хватало одного бита? Размах впечатляет, но вы уверены, что это целесообразно?
На мой взгляд, было бы интереснее создать русскую кодировку на базе ascii: дополнить таблицу русскими буквами, которых нет в ascii (т.е. предполагается русская "а" в ascii есть). Транслитеризация минимальна, текст будет читабелен даже в неправильной кодировке. Правда, с сортировкой могут возникнуть проблемы
Ответить с цитированием
  (#12 (permalink)) Старый
yureckor yureckor вне форума
Member
 
Сообщений: 462
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.03.2004
По умолчанию 18.08.2005, 10:53

добавь символы в UNICODE, а затем отошли в отдел стандартизации, пусть парятся.
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
SiMM SiMM вне форума
Member
 
Сообщений: 1,961
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.08.2003
По умолчанию Re: Русская альтернатива UTF-8 - 18.08.2005, 13:03

Цитата:
Originally posted by Svyatozar
[b]Таким образом на Глаголицу будет отведено те же 2 байта
А сейчас на глаголицу сколько уходит? Или же её вообще нет? И чем, в таком случае, не устраивает, к примеру, UTF-16?
Цитата:
но зато упрощается транслитерация и сортировка Глаголицы...
Тут, к сожалению, ничего не скажу - вопросом не владею в достаточной степени. С точки зрения порядка символов (кроме обычной кириллицы, конечно же ).
Цитата:
Но зато самые критические процессы - сортировка и поиск - будут упрощены гораздо.
Если забыть про глаголицу (просто не знаю, в чём там особенность) - они и так довольно просты. Для них вполне подходят даже обычные строковые функции. Или я чего-то недогоняю?
Цитата:
Можно хранить и в базе данных, если они поддерживают кодировку UTF-8. Просто при сортировке заглавные буквы пойдут в начало. Если нужна своя сортировка - можно написать плагин на С++.
Либо, наверно, ограничиться хранимой процедурой (в MySQL 5 они есть, правда, она пока бета). Вообще проблема с заглавными буквами, я думаю, вполне решаемая. Если делать что-то вроде ORDER BY LOWER(field), к примеру.
Цитата:
Не хочется вводить людей в заблуждение, выкладывая недоделанную кодировку... Да и потом, я не понял, надо ли это кому-то еще? Если надо, то я готов обсудить детали, чтобы учесть нужды заинтересованных людей...
Подобное обсуждение по крайней мере может помочь увидеть минусы и плюсы Как вам - так и окружающим. Так что решайте сами - обсуждать или вариться в собственном соку - ведь в конечном итоге может оказаться, что задача имеет более простое решение
Ответить с цитированием
  (#14 (permalink)) Старый
Svyatozar Svyatozar вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.03.2005
По умолчанию 18.08.2005, 20:07

Цитата:
Originally posted by yureckor
[b]добавь символы в UNICODE, а затем отошли в отдел стандартизации, пусть парятся.
А при чем здесь UNICODE?

1.Unicode - это каталог символов. Алфавитный порядок там не учитывается.

2. Tо что там утверждено уже не будет меняться.

Так что Unicode тут совсем не при чем. Речь идет о варианте UTF8.
Ответить с цитированием
  (#15 (permalink)) Старый
Svyatozar Svyatozar вне форума
Member
 
Сообщений: 23
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.03.2005
По умолчанию Re: Русская альтернатива UTF-8 - 18.08.2005, 20:11

Цитата:
Originally posted by SiMM
[b]Подобное обсуждение по крайней мере может помочь увидеть минусы и плюсы Как вам - так и окружающим. Так что решайте сами - обсуждать или вариться в собственном соку - ведь в конечном итоге может оказаться, что задача имеет более простое решение
Если выкладывать - то в новую тему, для избежания путаницы: эта тема начиналась с другого метода... Вот только не знаю в какой раздел поместить чтобы не мешалось под ногами...
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
альтернатива win 7! Андрей Д Вопросы начинающих программистов 10 16.09.2011 20:53
Альтернатива Cerber86 Подбор комплектующих 10 21.09.2008 09:53
Некорректно отображается русская кодировка в меню пуск. Nes Любые вопросы от новичков 6 05.08.2008 03:15
Вышла русская версия SP1 для Windows Vista Shunix Новости 0 09.05.2008 21:17
В игре не отображается русская кодировка, как исправить? Мариша Любые вопросы от новичков 11 12.02.2008 14:45
Турбо Пролог 2.0 и русская раскладка клавиатуры Dederko Prolog 6 14.12.2006 18:04
Русская Smalltalk-wiki и перевод документации VisualWorks Eugene Beschastnov Smalltalk 1 09.06.2006 13:30
Русская кодировка в программном коде на С++ imperior Visual C++ 11 10.05.2006 15:55
Альтернатива Sun ONE Studio ? emeer J2ME 2 05.02.2006 14:28
Русская документация по Pascale Jonano Вопросы начинающих программистов 0 25.11.2005 17:06
MSSQL 2000 русская версия Kelt MSSQL Server 0 26.08.2005 09:13
Русская кодировка в графическом режиме Anonymous Assembler 1 28.01.2004 00:05



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов