LINUX.ORG.RU

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

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

Что ужасного в том, что все переходят на юникод?

В неэкономном использовании памяти в тех случаях, когда избыточно хватает местных однобайтных кодировок. Я тут уже 6-ти битную кодировку пилю для компактного хранения текстов, а то и 8 бит на символ - слишком жирно. Да и посимвольное смещение в строках в программах на Си с юникодом уже не работает. Раньше было гораздо проще. Вот кусок кода из того шелла, что я пытался пилить 10 лет назад:

        if (strncmp(clstr, "cd ", 3) == 0) {
            if (strncmp(clstr + 3, "~", 1) == 0) {
                (void) chdir(getenv("HOME"));
                clstr += 2;
            }
            (void) chdir(clstr + 3);
            continue;
        }

Исправление saahriktu, :

Что ужасного в том, что все переходят на юникод?

В неэкономном использовании памяти в тех случаях, когда избыточно хватает местных однобайтных кодировок. Я тут уже 6-ти битную кодировку пилю для компактного хранения текстов, а то и 8 бит на символ - слишком жирно. Да и посимвольное смещение в строках в программах на Си с юникодом уже не работает. Раньше было гораздо проще. Вот кусок кода из того шелла, что я пытался пилить 10 лет назад:

      if (strncmp (clstr, "cd ", 3) == 0)
        {
          if(strncmp(clstr+3,"~",1)==0){(void) chdir (getenv ("HOME"));clstr+=2;}
          (void) chdir (clstr + 3);
          continue;
        }

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

Что ужасного в том, что все переходят на юникод?

В неэкономном использовании памяти в тех случаях, когда избыточно местных однобайтных кодировок. Я тут уже 6-ти битную кодировку пилю для компактного хранения текстов, а то и 8 бит на символ - слишком жирно. Да и посимвольное смещение в строках в программах на Си с юникодом уже не работает. Раньше было гораздо проще. Вот кусок кода из того шелла, что я пытался пилить 10 лет назад:

      if (strncmp (clstr, "cd ", 3) == 0)
        {
          if(strncmp(clstr+3,"~",1)==0){(void) chdir (getenv ("HOME"));clstr+=2;}
          (void) chdir (clstr + 3);
          continue;
        }