История изменений
Исправление
Napilnik,
(текущая версия)
:
Значит нужен новый юникод, не совместимый с имеющимися, но не просирающий так бездарно биты. Глянул в педивикию, это же дурдом. В многобайтных символах первый байт занимается под «таблицу размещения файлов» весь, а от всех остальных откусывается по 2 бита. То есть в четырёхбайтном символе, на запись символов используется 6х3=18 битов при 32 затраченных! Сплошные откаты, попилы и «эффективные менеджеры». Ничего удивительного, что при таких попилах 4 байт уже мало - давайте 8-12 не меняя кодировки!
Если делать 4-5 байтную кодировку по уму, то надо делать фиксированную длину байтов и под «таблицу размещения файлов» выделить по 1 биту в каждом байте. Пусть старший бит везде будет 0, а в последнем бите 1, тогда, если станем читать обрезанный массив, то побьются только крайние символы, а остальные с лёгкостью декодируются. Тогда в четырёхбайтной кодировке символы можно писать в 7х4=28 битах, а в 5 байтной в 7х5=35 битах что есть много. На большинство глифов в такой кодировке можно плевать - буков много чтобы сразу одним символом писать как надо, а те несколько дополнительных закорючек, что кому-то так нужны можно писать посимвольно несколькими способами. Так как теперь, это понадобится для подготовки печати на бумагу, и с обозначением занимаемого байта маленьким узким хренделябриком. По количеству хренделябриков можно сосчитать сколько невидимых символов тут присутствует.
Исходная версия
Napilnik,
:
Значит нужен новый юникод, не совместимый с имеющимися, но не просирающий так бездарно биты. Глянул в педивикию, это же дурдом. В многобайтных символах первый байт занимается под «таблицу размещения файлов» весь, а от всех остальных откусывается по 2 бита. То есть в четырёхбайтном символе, на запись символов используется 6х3=18 битов при 32 затраченных! Сплошные откаты, попили и «эффективные менеджеры». Ничего удивительного, что при таких попилах 4 бит уже мало - давайте 8-12 не меняя кодировки!
Если делать 4-5 байтную кодировку по уму, то надо делать фиксированную длину байтов и под «таблицу размещения файлов» выделить по 1 биту в каждом байте. Пусть старший бит везде будет 0, а в последнем бите 1, тогда, если станем читать обрезанный массив, то побьются только крайние символы, а остальные с лёгкостью декодируются. Тогда в четырёхбайтной кодировке символы можно писать в 7х4=28 битах, а в 5 байтной в 7х5=35 битах что есть много. На большинство глифов в такой кодировке можно плевать - буков много чтобы сразу одним символом писать как надо, а те несколько дополнительных закорючек, что кому-то так нужны можно писать посимвольно несколькими способами. Так как теперь, это понадобится для подготовки печати на бумагу, и с обозначением занимаемого байта маленьким узким хренделябриком. По количеству хренделябриков можно сосчитать сколько невидимых символов тут присутствует.