LINUX.ORG.RU

История изменений

Исправление foror, (текущая версия) :

Добавил конкретики https://chatgpt.com/share/6a97d97d-3fac-83ed-af50-6022e8f635e2 Для Ъ

Новый формат кодировки

Первый байт управляющий:

0-3 биты указывают на Windows-CP125x кодировку (9 вариантов)
4-6 биты указывают на алгоритм разбора строки:

000 - каждый char кодируется одним байтом 
      если у char первый бит 0, то его остальные 7 бит кодировать как ascii
      если у char первый бит 1, то его кодировать как Windows-CP125x в зависимости от выбора первого управляющего байта

001 - каждый char занимает ровно 2 байта
010 - каждый char занимает ровно 4 байта
011 - смешанный размер char
              если первый бит char 0, то это char размером в 1 байт и кодировать его как ascii
               если первый бит char 1, то это char размером в 2 байта (или больше) кодировать по дополнительным правилам
100 - смешанный размер char, но если первый бит 0, то этот char занимает 1 байт и кодировать его как cp-125x указанный в управляющем первом байте строки

Исходная версия foror, :

Добавил конкретики https://chatgpt.com/share/6a97d97d-3fac-83ed-af50-6022e8f635e2 Для Ъ

Новый формат кодировки

Первый байт управляющий:

0-3 биты указывают на Windows-CP125x кодировку (9 вариантов)
4-6 биты указывают на алгоритм разбора строки:

000 - каждый char кодируется одним байтом 
      если у char первый бит 0, то его остальные 7 бит кодировать как ascii
      если у char первый бит 1, то его кодировать как Windows-CP125x в зависимости от выбора первого управляющего байта

001 - каждый char занимает ровно 2 байта
010 - каждый char занимает ровно 4 байта
011 - смешанный размер char
              если первый бит char 0, то это char размером в 1 байт и кодировать его как ascii
               если первый бит char 1, то это char размером в 2 байта кодировать по дополнительным правилам
100 - смешанный размер char, но если первый бит 0, то этот char занимает 1 байт и кодировать его как cp-125x указанный в управляющем первом байте строки