Ремесло программиста

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Ремесло программиста » Кодирование символов » Концепция Unicode


Концепция Unicode

Сообщений 1 страница 6 из 6

1

Мне кажется неправильной сама концепция Unicode, как "свалка символов".
Символы же меняются постоянно. Новый вождь, новая идея -> новый символ.
Сколько бы в Unicode не было свободных codepoints они всё равно закончатся.

Идея с разными кодировками мне нравилась больше.
Можно сделать единый реестр кодировок и описать процедуру их добавления (и устаревания).

К тексту добавить атрибутов - какая система кодирования (Unicode, OpenCode, Sovicode), какая кодировка (кодовая страница/code page).

Если были проблемы с объединением документов в разных кодировках, то надо было их решать созданием новой конкретной суммарной кодировки,
а не созданием вообще Unicode.
Это бы привело к стандартизации/отработке процедуры объединения кодировок.

А сейчас получается, что процедура добавления новой группы глифов в Unicode слишком сложна и небесплатна.

Отредактировано ВежливыйЛис (2016-12-26 01:31:50)

2

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

3

Мне эта тема тоже интересна. Углубляясь в неё, я даже написал статью в Википедию про UTF-32. До меня её не было.

Мне тоже не нравится концепция "свалки". У меня была идея, которая, возможно, красивее и практичнее. Вот её суть.

Любой текст на русском языке, представленный в двоичном виде, начинается какой-то стандартной условной последовательностью битов, которая однозначно определяет, что это русский алфавит. Первый символ русского алфавита - буква "А" имеет кодировку "0", маленькая "а" - кодировку "1", "Б" - "2", "б" - "3" и т.д. Весь текст тогда состоит из последовательностей вида:
<код языка/алфавита> <последовательность символов данного алфавита>...

Такой код компактнее, нежели UTF-8 или UTF-16 и позволяет обойтись 8 битами на символ для большинства языков мира. Невозможно обойтись 8 битами только тогда, когда число символов в алфавите превышает 256. Ну или чуть поменьше - мы же должны какие-то условные комбинации битов отдать под признак "это код языка/алфавита".

Отредактировано Юрий (2016-12-27 23:09:10)

4

Chinese, Japanese and Korean, which have large character sets well in excess of 256 characters.

пишет нам https://en.wikipedia.org/wiki/Variable- … oding#MBCS

5

Ваш метод имеет недостаток.
Он не позволяет переместиться в середину текста и начат  обработку оттуда.  То есть ваш шифр не позволяет вести паралельную обработку.  Когда как шифр UNICODE является само синхронизируемым и гарантированно сойдётся за 5 байтов.
Плюс потеря одного бита может оказаться очень важной, неудасттся востановить текст.
Все программисты привыкли что их компьютеры практически не ошибаются. Но это нетак. Просто старое поколение решила эту проблему. В реале вероятность ошибки  от 10^15 до 10^17 в зависимости от модели ЦПУ.  Но вот у микроконтроллёров этот показатель ниже от 10^6 до 10^9. Да и при передачи по сети тоже низкая надёжность, а всякие недоучки так и норовят сделать протокол без помехозащищенности. Примерно раз в час помехазащищенность iP даёт сбой и пропускает битые данные в верхний протокол.
И представь потеряли мы бит от смены языка. Востановить невозможно.Перебором достовернрсть расспознования тоже мала, так как у разных языков есть совподающие коды которые суммарно образуют естественное слово.

Отредактировано Павиа (2016-12-28 08:23:59)

6

Юрий написал(а):

<код языка/алфавита> <последовательность символов данного алфавита>...

На предыдущем форуме я уже делал попытку предложить подумать над: (но так и недозавершил свою мысль)

Деяние глас-ных (и йот-ных)

1. гласят.

(уоаэы)

у
пуд

о
под

а
над

э
сэр

ы
пыт

бит гласа=1
бит йоты=0

2. йотят.

(юёяеи)

йу
пьют

йо
пьёт

йа
пьян

йэ
устье

и(йы)
ладьи

бит гласа=1
бит йоты=1

2. мягчат.

(юёяеи)

ю
тюк

ё
пёк

я
вяз

е
пел

и
пил

бит гласа=1
бит йоты=0

Деяние со-глас-ных и не-глас-ных

1. звенят.

(в, з, ж, хг)

бит гласа=1
бит шума=1
бит задержки птк=0

1. шипят..

(ф, с, ш, х)

бит гласа=0
бит шума=1
бит задержки птк=0

2. звучат.

(б, д, дж, г)

бит гласа=1
бит шума=0
бит задержки птк=1

2. молчат.
(твердят)

(п, т, тч, к)

бит гласа=0
бит шума=0
бит задержки птк=0

Деяние  эрных, со-лорных

1. рычат.

(тпру, р, ркартавое)

бит гласа=1/0
бит шума=0/1
бит задержки птк=цикл 0/1

2. лычат.

(л, л, л, л)

бит гласа=1/0
бит шума=0/1
бит задержки птк=0

Деяние  со-носных (со-норных, со-морных)

1. нычат.

(н, н, нт, нк)

бит гласа=1/0
бит шума=0/1
бит задержки птк=0

2. мычат.

м, м, м, м

бит гласа=1/0
бит шума=0/1
бит задержки птк=0


(меня отвлекли, немного погодя приду - допишу)))

Отредактировано Сандро (2016-12-29 03:06:09)


Вы здесь » Ремесло программиста » Кодирование символов » Концепция Unicode