← На заглавную страницу базы знаний проекта Д

Проблема 000003 (kb000003): Кодировка русского универсального кода

§ 1. Описание проблемы

Разрабатывая операционную систему Д я столкнулся с такими проблемами как кодовые страницы. Для каждого языка в некоторых операционных системах нужна своя старница. Более того, для некоторых языков, нужно несколько страниц и всё из-за отсутствия царя в голове, нежелания стандартизировать.

В сложивщейся ситуации виноваты те, кто недальновидно решил сделать длину байта равной 8 битам, в которве не влезает всё множество букв, придуманное человечеством. Однако сейчас не следует затрагивать тему увеличения размера байта, потому что не изобретены ещё соостветствующие ЭВМ.

С другой стороны существуют универсальные кодовые таблицы. Они устронеы так: одна буква занимает 2 или более байт, а есть ещё утф8. Такой путь кажется более хорошим и позволяет использовать текущее АО (аппаратное обеспечение) для нужд Д-ОС.

Поэтому и была разработана Русская Универсальная Кодовая Система.

§ 2. Идея РУКС

Кодовая система состоит из 2 частей. Первая индексирована байтами с номиналами 0..131 и содержит русские буквы, цифры и прочие символы первой необходимости. Вторая половина (байты 132..255) является ссылками на другие, вспомагательные таблицы символов.

Первая часть полностью представлена с помощью нижеследующей таблицы:

Таблица 1. Первая часть кодировки
— 000 —
КодЧарКодЧарКодЧарКодЧарКодЧарКодЧарКодЧарКодЧар
000011022033044055066077
08809910011А12Б13В14Г15Д
16Е17Ё18Ж19З20И21Й22К23Л
24М25Н26О27П28Р29С30Т31У
32Ф33Х34Ц35Ч36Ш37Щ38Ъ39Ы
40Ь41Э42Ю43Я44а45б46в47г
48д49е50ё51ж52з53и54й55к
56л57м58н59о60п61р62с63т
64у65ф66х67ц68ч69ш70щ71ъ
72ы73ь74э75ю76я77.78,79;
80:81+82-83·84÷85=85×86?
87!88§89(90)91[92]93{94}
95<96>9798\99
— 100 —
КодЧарКодЧарКодЧарКодЧарКодЧарКодЧарКодЧарКодЧар
0001020304050607
08%09&10'11*12/13@14^15_
16`17~18|19"20°21±22#23
24252627282930«31»

Вторая часть содержит таблицы. Каждая из таблиц имеет 255 элементов. Таким образом элемент из второй таблицы описывается 2-мя байтами. Далее представлен перечень таблиц второй части кодировки РУКС:

  1. Таблица математических символов;
  2. Таблица символов логических;
  3. Таблица для ASCII-рисункoв;
  4. Таблица символов отдельных государств (звезда Давида, Православный крест, и арабский полумесяц);
  5. Специальная хакерская таблица;
  6. Лигатуры, для мнемокодов языка ассемблера (как воторого оффициального языка программирования [ведь первый оффициальный язык программирования — это конечно язык Д]);
  7. Лигатуры для зарезервированных слов языка Д. Часть I;
  8. Лигатуры для зарезервированных слов языка Д. Часть II;
  9. Лигатуры для зарезервированных слов языка Д. Часть III;
  10. Лигатуры для зарезервированных слов языка Д. Часть IV;
  11. Для нейтрального языка;
  12. Для болгарского языка;
  13. Для китайского языка. Часть I;
  14. Для китайского языка. Часть II;
  15. Для кроатского языка;
  16. Для чешского языка;
  17. Для датского языка;
  18. Для немецкого языка;
  19. Для английского языка;
  20. Для финского языка;
  21. Для французского языка;
  22. Для греческого языка;
  23. Для исландского языка;
  24. Для итальянского языка;
  25. Для норвежского языка;
  26. Для польского языка;
  27. Для португальского языка;
  28. Для римского языка;
  29. Для словатского языка;
  30. Для словенского языка;
  31. Для испанского языка;
  32. Для шведского языка;
  33. Для тайского языка;
  34. Для турецкого языка;
  35. На благотворительные нужды;
  36. Зарезервированно на будущее;
  37. Зарезервированно на будущее;
  38. Зарезервированно на будущее;
  39. Зарезервированно на будущее;
  40. Зарезервированно на будущее;
  41. Зарезервированно на будущее;
  42. Зарезервированно на будущее;
  43. Зарезервированно на будущее;
  44. Зарезервированно на будущее;
  45. Зарезервированно на будущее;
  46. Зарезервированно на будущее;
  47. Зарезервированно на будущее;
  48. Зарезервированно на будущее;
  49. Зарезервированно на будущее;
  50. Зарезервированно на будущее;
  51. Зарезервированно на будущее;
  52. Зарезервированно на будущее;
  53. Зарезервированно на будущее;
  54. Зарезервированно на будущее;
  55. Зарезервированно на будущее;
  56. Зарезервированно на будущее;
  57. Зарезервированно на будущее;
  58. Зарезервированно на будущее;
  59. Зарезервированно на будущее;
  60. Зарезервированно на будущее;
  61. Зарезервированно на будущее;
  62. Зарезервированно на будущее;
  63. Зарезервированно на будущее;
  64. Зарезервированно на будущее;
  65. Зарезервированно на будущее;
  66. Зарезервированно на будущее;
  67. Зарезервированно на будущее;
  68. Зарезервированно на будущее;
  69. Зарезервированно на будущее;
  70. Зарезервированно на будущее;
  71. Зарезервированно на будущее;
  72. Зарезервированно на будущее;
  73. Зарезервированно на будущее;
  74. Зарезервированно на будущее;
  75. Зарезервированно на будущее;
  76. Зарезервированно на будущее;
  77. Зарезервированно на будущее;
  78. Зарезервированно на будущее;
  79. Зарезервированно на будущее;
  80. Зарезервированно на будущее;
  81. Зарезервированно на будущее;
  82. Зарезервированно на будущее;
  83. Зарезервированно на будущее;
  84. Зарезервированно на будущее;
  85. Зарезервированно на будущее;
  86. Зарезервированно на будущее;
  87. Зарезервированно на будущее;
  88. Зарезервированно на будущее;
  89. Зарезервированно на будущее;
  90. Зарезервированно на будущее;
  91. Зарезервированно на будущее;
  92. Зарезервированно на будущее;
  93. Зарезервированно на будущее;
  94. Зарезервированно на будущее;
  95. Зарезервированно на будущее;
  96. Зарезервированно на будущее;
  97. Зарезервированно на будущее;
  98. Зарезервированно на будущее;
  99. Зарезервированно на будущее;
  100. Зарезервированно на будущее;
  101. Зарезервированно на будущее;
  102. Зарезервированно на будущее;
  103. Зарезервированно на будущее;
  104. Зарезервированно на будущее;
  105. Зарезервированно на будущее;
  106. Зарезервированно на будущее;
  107. Зарезервированно на будущее;
  108. Зарезервированно на будущее;
  109. Зарезервированно на будущее;
  110. Зарезервированно на будущее;
  111. Зарезервированно на будущее;
  112. Зарезервированно на будущее;
  113. Зарезервированно на будущее;
  114. Зарезервированно на будущее;
  115. Зарезервированно на будущее;
  116. Зарезервированно на будущее;
  117. Зарезервированно на будущее;
  118. Зарезервированно на будущее;
  119. Зарезервированно на будущее;
  120. Зарезервированно на будущее;
  121. Зарезервированно на будущее;
  122. Зарезервированно на будущее;
  123. Зарезервированно на будущее;
  124. Свободно для любого использования;

§ 3. Вывод

Нужно как можно скорее вводить эту систему универсального русского кода в жизнь. Она — ключ к избавлению от избыточности и байтов в русских текстах.

Hosted by uCoz