ПО, ЭВМ и АСУ из Таможенного Союза

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

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



Ищу кодировку

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

1

примерно такую:

[html]
Вариант от 2019-07-09:
<br />
буквы для кодирования выбраны из таблицы частот встречаемости букв (по убыванию частоты)
<br />
перевод строки = ПС
<br />
символ пробела = СП
<br />
<table border="1" cellspacing="0" cellpadding="3">

<tr><th>Я</th><td>ПС</td><td>а</td><td>б</td><td>в</td><td>г</td><td>д</td><td>е</td><td>ё</td><td>ж</td><td>з</td><td>и</td><td>й</td><td>к</td><td>л</td><td>м</td><td>н</td></tr>
<tr><th>У</td><td>о</td><td>п</td><td>р</td><td>с</td><td>т</td><td>у</td><td>ф</td><td>х</td><td>ц</td><td>ч</td><td>ш</td><td>щ</td><td>ъ</td><td>ы</td><td>ь</td><td>э</td></tr>
<tr><th>П</th><td>ю</td><td>я</td><td>А</td><td>Б</td><td>В</td><td>Г</td><td>Д</td><td>Е</td><td>Ё</td><td>Ж</td><td>З</td><td>И</td><td>Й</td><td>К</td><td>Л</td><td>М</td></tr>
<tr><th>Д</th><td>Н</td><td>О</td><td>П</td><td>Р</td><td>С</td><td>Т</td><td>У</td><td>Ф</td><td>Х</td><td>Ц</td><td>Ч</td><td>Ш</td><td>Щ</td><td>Ъ</td><td>Ы</td><td>Ь</td></tr>
<tr><th>М</th><td>Э</td><td>Ю</td><td>Я</td><td>а́</td><td>е́</td><td>ё́</td><td>и́</td><td>о́</td><td>у́</td><td>ы́</td><td>э́</td><td>ю́</td><td>я́</td><td>А́</td><td>Е́</td><td>Ё́</td></tr>
<tr><th>К</th><td>И́</td><td>О́</td><td>У́</td><td>Ы́</td><td>Э́</td><td>Ю́</td><td>Я́</td><td>.</td><td>?</td><td>!</td><td>,</td><td>;</td><td>:</td><td>...</td><td>&mdash;</td><td>_</td></tr>

<tr><th>Л</th><td>(</td><td>)</td><td>[</td><td>]</td><td>{</td><td>}</td><td>⟨ </td><td>⟩</td><td>⸨</td><td>⸩</td><td>⟦</td><td>⟧</td><td>❴ </td><td>❵</td><td>《</td><td>》</td></tr>
<tr><th>В</th><td>&lt;</td><td>&gt;</td><td>&le;</td><td>&ge;</td><td>&laquo;</td><td>&raquo;</td><td>„</td><td>”</td><td>=</td><td>≠</td><td>§</td><td>№</td><td>&bull;</td><td>%</td><td>~</td><td>₽</td></tr>

<tr><th>Р</th><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>+</td><td>&times;</td><td>-</td><td>/</td><td>^</td><td>СП</td></tr>

<tr><th>С</th><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><th>Т</th><td>©</td><td>®</td><td>™</td><td>&curren;</td><td>₿</td><td>#</td><td>¥</td><td>€</td><td>$</td><td>@</td><td>&</td><td>*</td><td>|</td><td>\</td><td>↑</td><td> ↓</td></tr>
<tr><th>Н</th><td>&deg;</td><td>¶</td><td>`</td><td>'</td><td>"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><th>И</th><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>æ</td><td>Æ</td><td>a</td><td>b</td><td>c</td><td>d</td></tr>
<tr><th>А</th><td>e</td><td>f</td><td>g</td><td>h</td><td>i</td><td>j</td><td>k</td><td>l</td><td>m</td><td>n</td><td>o</td><td>p</td><td>q</td><td>r</td><td>s</td><td>t</td></tr>
<tr><th>Е</th><td>u</td><td>v</td><td>w</td><td>x</td><td>y</td><td>z</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td><td>I</td><td>J</td></tr>
<tr><th>О</th><td>K</td><td>L</td><td>M</td><td>N</td><td>O</td><td>P</td><td>Q</td><td>R</td><td>S</td><td>T</td><td>U</td><td>V</td><td>W</td><td>X</td><td>Y</td><td>Z</td></tr>

<tr><th>&nbsp;</th><th>О</th><th>Е</th><th>А</th><th>И</th><th>Н</th><th>Т</th><th>С</th><th>Р</th><th>В</th><th>Л</th><th>К</th><th>М</th><th>Д</th><th>П</th><th>У</th><th>Я</th></tr>

</table>
по вертикали первый квартет битов (старший, пишется правее), по горизонтали второй квартет битов (младший, пишется левее),
Таком образом байт с символом пробел будет записан буквами как 'РЯ' (как в координатной системе в математике вертикальная ось направлена вверх). Перевод строки (конец строки) - 'ЯО'.
Называть таблицу "ЯОРЯ-19-07"
[/html]

Вариант от 2019-03-31
[html]
<table border="1" cellspacing="0" cellpadding="3">
<thead>
<tr><th>&nbsp;</th><th>0</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>8</th><th>9</th><th>10</th><th>11</th><th>12</th><th>13</th><th>14</th><th>15</th></tr>
</thead>
<tbody>
<tr><th>0</th><td>а</td><td>б</td><td>в</td><td>г</td><td>д</td><td>е</td><td>ё</td><td>ж</td><td>з</td><td>и</td><td>й</td><td>к</td><td>л</td><td>м</td><td>н</td><td>о</td></tr>
<tr><th>1</td><td>п</td><td>р</td><td>с</td><td>т</td><td>у</td><td>ф</td><td>х</td><td>ц</td><td>ч</td><td>ш</td><td>щ</td><td>ъ</td><td>ы</td><td>ь</td><td>э</td><td>ю</td></tr>
<tr><th>2</th><td>я</td><td>А</td><td>Б</td><td>В</td><td>Г</td><td>Д</td><td>Е</td><td>Ё</td><td>Ж</td><td>З</td><td>И</td><td>Й</td><td>К</td><td>Л</td><td>М</td><td>Н</td></tr>
<tr><th>3</th><td>О</td><td>П</td><td>Р</td><td>С</td><td>Т</td><td>У</td><td>Ф</td><td>Х</td><td>Ц</td><td>Ч</td><td>Ш</td><td>Щ</td><td>Ъ</td><td>Ы</td><td>Ь</td><td>Э</td></tr>
<tr><th>4</th><td>Ю</td><td>Я</td><td>а́</td><td>е́</td><td>ё́</td><td>и́</td><td>о́</td><td>у́</td><td>ы́</td><td>э́</td><td>ю́</td><td>я́</td><td>А́</td><td>Е́</td><td>Ё́</td><td>И́</td></tr>
<tr><th>5</th><td>О́</td><td>У́</td><td>Ы́</td><td>Э́</td><td>Ю́</td><td>Я́</td><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td></tr>

<tr><th>6</th><td>.</td><td>?</td><td>!</td><td>,</td><td>;</td><td>:</td><td>...</td><td>&mdash;</td><td>„</td><td>”</td><td>&laquo;</td><td>&raquo;</td><td>§</td><td>&bull;</td><td>%</td><td>_</td></tr>
<tr><th>7</th><td>+</td><td>&times;</td><td>-</td><td>/</td><td>=</td><td>&lt;</td><td>&gt;</td><td>^</td><td>₽</td><td>№</td><td>(</td><td>)</td><td>[</td><td>]</td><td>{</td><td>}</td></tr>

<tr><th>8</th><td>⟨ </td><td>⟩</td><td>⸨</td><td>⸩</td><td>⟦</td><td>⟧</td><td>❴ </td><td>❵</td><td>《</td><td>》</td><td>‰</td><td>‱</td><td>&le;</td><td>&ge;</td><td>≠</td><td>~</td></tr>

<tr><th>9</th><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><th>10</th><td>©</td><td>®</td><td>™</td><td>&curren;</td><td>₿</td><td>#</td><td>¥</td><td>€</td><td>$</td><td>@</td><td>&</td><td>*</td><td>|</td><td>\</td><td>↑</td><td> ↓</td></tr>
<tr><th>11</th><td>&deg;</td><td>¶</td><td>`</td><td>'</td><td>"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><th>12</th><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>æ</td><td>Æ</td><td>a</td><td>b</td><td>c</td><td>d</td></tr>
<tr><th>13</th><td>e</td><td>f</td><td>g</td><td>h</td><td>i</td><td>j</td><td>k</td><td>l</td><td>m</td><td>n</td><td>o</td><td>p</td><td>q</td><td>r</td><td>s</td><td>t</td></tr>
<tr><th>14</th><td>u</td><td>v</td><td>w</td><td>x</td><td>y</td><td>z</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td><td>I</td><td>J</td></tr>
<tr><th>15</th><td>K</td><td>L</td><td>M</td><td>N</td><td>O</td><td>P</td><td>Q</td><td>R</td><td>S</td><td>T</td><td>U</td><td>V</td><td>W</td><td>X</td><td>Y</td><td>Z</td></tr>
</tbody>
</table>
[/html]

Отредактировано Лис (2019-03-31 21:15:07)

0

2

866? 1251?

0

3

Предлагаю кодировку, как UTF-8, только другую:
- во-первых, нужно заменить 1 на 0 и наоборот
- во-вторых, не нужно оставлять совместимость со старыми кодировками и терять на этом по биту в каждом байте.

Тогда можно закодировать:
01xxxxxx - это начало цепочки битов из одного байта ( 6 + 0 бит )
001xxxxx - это начало цепочки битов из двух байтов ( 5 + 7 бит )
0001xxxx - это начало цепочки битов из трёх байтов ( 4 + 14 бит )
00001xxx - это начало цепочки битов из четырёх байтов ( 3 + 21 бит )
000001xx - это начало цепочки битов из пяти байтов ( 2 + 28 бит )
0000001x - это начало цепочки битов из шести байтов ( 1 + 35 бит )
00000001 - это начало цепочки битов из семи байтов ( 49 бит )
1xxxxxxxx - это байт продолжения
00000000 - это специальная последовательность (для обозначения чего-нибудь, например конца строки)

Осталось только сделать список кодовых точек таким образом, чтобы первые 64 символа это были русские буквы (33+31).
Большинство текстов тогда смогут кодироваться одним байтом.
Проблема, правда есть, что две буквы не влезет. Можно выбрать заглавные Ь и Ъ,
а про сортировку сказать, что всё равно это только внешняя кодировка, а внутренняя будет отличаться.
Можно вообще буквы по частоте закодировать:
https://www.dpva.ru/Guide/GuideUnitsAlp … RuLetters/
тогда Ь и Ъ, мне кажется, будут на последнем месте по частоте.

Но зачем нам так много кодовых точек?
Не лучше ли сделать в стартовом наборе 7 битов, а байты продолжения по 6 битов, как в UTF-8 и сделали?

Проблема однобайтовости не в кодировке (Unified Transformation Format), а в том, какие codepoint-ы соответствуют каким символам.

Можно сделать как в UTF-8, но оставить идею инвертирования битов,
что позволит иметь код 00000000 как специальный символ.
И дополнительно можно сделать совместимость с какой-нибудь старой кодовой страницей, как посоветовал atzx,
где русские символы как раз с установленным старшим битом!

Тогда можно закодировать:
1xxxxxxx - это байт с выбранной кодировкой (7 бит)
001xxxxx - это начало цепочки битов из двух байтов ( 5 + 6 = 11 бит )
0001xxxx - это начало цепочки битов из трёх байтов ( 4 + 12 = 16 бит )
00001xxx - это начало цепочки битов из четырёх байтов ( 3 + 18 = 21 бит )
000001xx - это начало цепочки битов из пяти байтов ( 2 + 24 = 26 бит )
0000001x - это начало цепочки битов из шести байтов ( 1 + 30 = 31 бит )
00000001 - это начало цепочки битов из семи байтов ( 0 + 36 = 36 бит )
01xxxxxx - это байт продолжения
00000000 - это специальная последовательность (для обозначения чего-нибудь, например конца строки)

ну и имя ей какое-нибудь придумать, например:
кодировка "РУНА" = русское универсальное написание алфавитов.

Я только не знаю ни одной старой кодировки, в которой буква Ё на своём месте.

http://www.rusf.ru/books/yo/encoding.html
есть некая "sort", но там символов мало. Кстати, хороша ли идея размещать заглавные буквы перед строчными?

Для моих вариантов можно ввести отдельные названия:
РУНА-А = 64 русских символа в одном байте, по алфавиту
РУНА-Ы  = 64 русских символа, кроме Ь и Ъ. А "Ы" - потому что межу ними и кодируется в один байт.
РУНА-Ч = 64 русских символа в одном байте, отсортированные по частоте
РУНА = 127 символов в первом байте, как и в UTF-8

А так можно было бы сделать:
РУНА-1251 (начинается в части русских символов как кодовая страница windows)
РУНА-866 (начинается в части русских символов как кодовая страница dos)

Ещё я не очень понимаю, почему бы не вставлять вместо BOM указание на версию стандарта. Чтобы точно было понятно, по какому алгоритму раскодировать всё остальное. Если так сделали для UTF-16 и UTF-8, то почему не сделали для всех остальных вариантов?

ну и тогда английские символы автоматически заменялись бы на символ "ошибка", потому что либо это байт продолжения без заголовка, либо байт начальный без продолжения. В любом случае - невалидный символ.

Отличная идея на сегодняшний день, я считаю.

Отредактировано Лис (2019-04-01 06:49:30)

0

4

Мож я чё не понимайт, но  куда мы поместим шифт... (?) Судя по предлагаемой таблице шифт переключения а/А должен быть равен 21h, однако этот адрес уже занят буквой... (также и английский шифт оказался почему-то другого размера)))

Отредактировано Сандро (2019-04-01 14:55:19)

0

5

По меньшей мере 2 человека мою идею уже частично поддерживают. Поддержку высказали Юрий и МихалНик.
- Ну что-ж, для меня этого более, чем достаточно. Буду развивать идею и дальше... )))

0

6

Лис написал(а):

Если так сделали для UTF-16 и UTF-8, то почему не сделали для всех остальных вариантов?

Потому что все остальные варианты - были до UTF-8, была куча несовместимых кодировок, разных в разных ОС. Причём английский был везде на одном и том же месте (это к слову откуда ноги растут). И чтобы "уж точно" знать, что текст в UTF, решили обозначать его с помошью BOM.

Вообще, в чём смысл делать свою ни-с-чем-несовместимую кодировку? Какие преимущества она даст?

Отредактировано atzx (2019-04-01 20:35:00)

0

7

01xxxxxx - это начало цепочки битов из одного байта ( 6 + 0 бит )
001xxxxx - это начало цепочки битов из двух байтов ( 5 + 7 бит )
0001xxxx - это начало цепочки битов из трёх байтов ( 4 + 14 бит )
00001xxx - это начало цепочки битов из четырёх байтов ( 3 + 21 бит )
000001xx - это начало цепочки битов из пяти байтов ( 2 + 28 бит )
0000001x - это начало цепочки битов из шести байтов ( 1 + 35 бит )
00000001 - это начало цепочки битов из семи байтов ( 49 бит )

Во-первых, число от 1 до 7 представимо 3 разрядами, во-вторых ЭВМ приспособлены под степени двойки, а число 1, 2, 4 или 8 представимо 2 разрядами.
В-третьих, числа в скобках непонятны. Наконец, что с распределенными обработками?

Осталось только сделать список кодовых точек таким образом, чтобы первые 64 символа это были русские буквы (33+31).

Вместо того, чтобы сделать первыми цифры и легко обрабатывать числа произвольной длины.

Отредактировано MihalNik (2019-04-01 18:41:35)

0

8

atzx написал(а):

Вообще, в чём смысл делать свою ни-с-чем-несовместимую кодировку? Какие преимущества она даст?

- Воот! "ни-с-чем-несовместимы" они - как раз-таки сейчас.
- В любой из кодировок.
- "Кубик Рубика", панимаиш-ли...
- А зачем его собирать? (да ещё для каждого из народностей)
- Ладно так! Вот как есть в алхвавите - так и впихну, "ничтожа сумяшеся", в надлежащую ему нишу. - А чё... )))
atzx не пробовал писать проги озвучки текста? Я тоже пока не пробовал. И покуда не стану. Когда звуки сгруппирую в соответствии с их происхождением - вот тогда и посмотрим...

0

9

Нет, не пробовал. А это как-то косвенно может повлиять на кодировку?

Сандро написал(а):

"ни-с-чем-несовместимы" они - как раз-таки сейчас

Ну, atzx имел ввиду что имеющиеся кодировки совместимы с операционными системами, редакторами, браузерами. UTF-8 как правило понимают все, что уже большой прогресс по сравнению с кучей однобайтовых кодировок.

0

10

atzx написал(а):

уже большой прогресс по сравнению с кучей однобайтовых кодировок.

Один мой знакомый часто говаривал, что "...и лягушку на глобус натянуть - не проблема...", вот только гармония теряется... )))
Нажимаем шифт (или контрл) и - вуаля! Все буквы - становятся большими...
- Это мы, разумеется, замечаем и даже как-то привыкли, чтобы "уже не замечать". Также можно преобразовывать и целые группы "родственных" звуков. (всего одним битом)

Отредактировано Сандро (2019-04-01 20:50:45)

0

11

atzx написал(а):
Лис написал(а):

Если так сделали для UTF-16 и UTF-8, то почему не сделали для всех остальных вариантов?

Потому что все остальные варианты - были до UTF-8, была куча несовместимых кодировок, разных в разных ОС.

Я имею в виду:
UTF-8 LE, UTF-8 BE, CESU-8 LE, CESU-8 BE, UTF-8B, UTF-8N, MUTF-8, WTF-8,  RFC 3629

0

12

MihalNik написал(а):

В-третьих, числа в скобках непонятны.

Это основная проблема. Они такие чтобы добиться некоторых особых свойств:
- самосинхронизация кодировки
- при оставлении возможности кодирования одним байтом

MihalNik написал(а):

Наконец, что с распределенными обработками?

Мне непонятно, что такое "распределённые обработки" (применительно к строкам).
Глядя на фрагмент строки в несколько байт можно определить где её можно разрезать на части,
и дальше обрабатывать части параллельно.

MihalNik написал(а):

ЭВМ приспособлены под степени двойки, а число 1, 2, 4 или 8 представимо 2 разрядами.

Разверни, пожалуйста, твою мысль.

Пусть первый байт такой
1xybbbbb, где 1 - это признак начала символа, xy - это код для числа последующих байтов, bbbbb - это 32 стартовых символа.
Мы не в Белоруссии/Беларуси, 32-х символов под алфавит не хватит, а значит буквы будут кодироваться не одним байтом,
а двумя и все тексты станут вдвое длиннее.

Отредактировано Лис (2019-04-01 23:42:07)

0

13

А может часть латинских букв которые аналогичны по написанию с русскими вообще выкинуть? Какой смысл в отдельной англ. "M" и отдельной русской "М"? Они же для человека неразличимы!

0

14

В таблице из стартового поста от 2019-03-31 нет символа пробела, забыл :)

У кодировки РУНА-1251 тоже такая проблема - пробел-то не в той части, где русские буквы...

Меня ещё всегда удивляло, почему символ "перевод строки" не кодируется нулевым кодом. Ведь в языке "C" строки нулём заканчиваются. И тогда буквы бы начинались с кода 1, т.е. как обычно считают - первый, второй (а не как программисты - нулевой, первый).

[html]<hr />[/html]

Есть ещё вариант - кодировать не таблицей 16x16,
а таблицей 26*10,
первая буква - согласная. вторая гласная (гласных как раз десять).
К сожалению:
1) согласных не хватит
    согласных букв — 21: б, в, г, д, й, ж, з, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ
    2 буквы, не обозначающие звуков: ь, ъ
    10 букв гласных: а, о, у, ы, э, я, е, ё, ю, и
2) в таком варианте теряется свойство побитовости...

"В языках типа русского, во многих языках, даже в большинстве, гортань используется очень слабо, но есть языки, где гортанная артикуляция очень активная и используется широко. Таким образом получается характерный оттенок, акцент. Например, гортань можно сжать. В классическом арабском языке с помощью таких гортанных артикуляций появляются даже специальные буквы."

Посмотреть на международный фонетический алфавит (МФА), чтобы добрать?
"По состоянию на 2005 год МФА включает 107 символов-букв, 52 символа — диакритических знака и 4 символа — знака просодии."

Главный принцип МФА — предоставить отдельный символ для каждого различимого звука. То есть он не использует комбинации букв для отображения одного звука, или одну букву для отображения нескольких звуков, нет букв, звучание которых (звуковые значения) зависит от контекста. Не встречается различных букв для двух звуков, если ни один из известных языков не делает между ними различия (это свойство известно как «селективность».

Проблема в том, что МФА в школе не учат.

Вот Уткин обвиняет Лиса в неинтернациональном подходе. А как по-другому-то? Не получится интернациональным быть, потому что в школе такому не учат.

Кроме переписывания курса русского языка, нужно ещё математику переписать. Про координатную плоскость, чтобы ось ординат была направлена вниз. Ведь пишем мы слева-направо, сверху-вниз.

И оси подписывать русскими буквами - В и Г (вертикаль и горизонталь)

Отредактировано Лис (2019-07-09 06:55:16)

0

15

Ведь в языке "C" строки нулём заканчиваются.

Так там цели другие. Паскалевские строки в первых байтах имеют длину, что позволяет выполнять строковые операции быстрей Си. Потому что в Си строка заканчивается там, где встретится нуль. Вот и сравните, например, операцию по определению числа символов в строке (а это частая операция при работе со строками). Так что непонятно почему у Вас возникли ассоциации с концом строки в памяти и переводом строки на экране терминала. Текст с переводами строк на экране при таком подходе прекрасно загоняется в поток, а они в свое время были эффективным средством работы с последовательностями данных. Взаимосвязь между нулевым байтом и переводом строки не прослеживается совершенно.

т.е. как обычно считают - первый, второй (а не как программисты - нулевой, первый).

Исторически нуль не был натуральным числом (хотя сейчас он относится к данному множеству). Поэтому счет проводят с единицы. Программисты не считают, а присваивают индексы. Выбрасывать один индекс в никуда не рационально, поэтому он используется при раздаче адресов/индексов.

Вот Уткин обвиняет Лиса в неинтернациональном подходе. А как по-другому-то? Не получится интернациональным быть, потому что в школе такому не учат.

А Вы попробуйте закончить школу и идти по жизни дальше :).

Проблема в том, что МФА в школе не учат.

В школе многому не учат, например, там не учат тому, что в Си строки заканчиваются нулем. Но это же Вас не остановило. Непонятно почему здесь Вы чего-то испугались...

Про координатную плоскость, чтобы ось ординат была направлена вниз.

Лис и в школьной математике и школьной физике есть такая фигня, как система координат и точка отсчета :). Рекомендую освежить знания.

И оси подписывать русскими буквами - В и Г (вертикаль и горизонталь)

https://www.meme-arsenal.com/memes/ab53fff2ebd5551921c4ee95fe89e4a5.jpg
А чего сразу не рунами?

0

16

А чтобы штучные байты кодировок (РУНА и ЯОРЯ) совпадали, сделать так:

[html]
<table border="1" cellspacing="0" cellpadding="3">

<tr><th>О</th><td>ПС</td><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>+</td><td>&times;</td><td>-</td><td>/</td><td>^</td></tr>

<tr><th>Е</th><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><th>А</th><td>©</td><td>®</td><td>™</td><td>&curren;</td><td>₿</td><td>#</td><td>¥</td><td>€</td><td>$</td><td>@</td><td>&</td><td>*</td><td>|</td><td>\</td><td>↑</td><td> ↓</td></tr>
<tr><th>И</th><td>&deg;</td><td>¶</td><td>`</td><td>'</td><td>"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><th>Н</th><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>æ</td><td>Æ</td><td>a</td><td>b</td><td>c</td><td>d</td></tr>
<tr><th>Т</th><td>e</td><td>f</td><td>g</td><td>h</td><td>i</td><td>j</td><td>k</td><td>l</td><td>m</td><td>n</td><td>o</td><td>p</td><td>q</td><td>r</td><td>s</td><td>t</td></tr>
<tr><th>С</th><td>u</td><td>v</td><td>w</td><td>x</td><td>y</td><td>z</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td><td>I</td><td>J</td></tr>
<tr><th>Р</th><td>K</td><td>L</td><td>M</td><td>N</td><td>O</td><td>P</td><td>Q</td><td>R</td><td>S</td><td>T</td><td>U</td><td>V</td><td>W</td><td>X</td><td>Y</td><td>Z</td></tr>

<tr><th>В</th><td>а</td><td>б</td><td>в</td><td>г</td><td>д</td><td>е</td><td>ё</td><td>ж</td><td>з</td><td>и</td><td>й</td><td>к</td><td>л</td><td>м</td><td>н</td><td>о</td></tr>
<tr><th>Л</th><td>п</td><td>р</td><td>с</td><td>т</td><td>у</td><td>ф</td><td>х</td><td>ц</td><td>ч</td><td>ш</td><td>щ</td><td>ъ</td><td>ы</td><td>ь</td><td>э</td><td>ю</td></tr>

<tr><th>К</th><td>я</td><td>А</td><td>Б</td><td>В</td><td>Г</td><td>Д</td><td>Е</td><td>Ё</td><td>Ж</td><td>З</td><td>И</td><td>Й</td><td>К</td><td>Л</td><td>М</td><td>Н</td></tr>
<tr><th>М</td><td>О</td><td>П</td><td>Р</td><td>С</td><td>Т</td><td>У</td><td>Ф</td><td>Х</td><td>Ц</td><td>Ч</td><td>Ш</td><td>Щ</td><td>Ъ</td><td>Ы</td><td>Ь</td><td>Э</td></tr>
<tr><th>Д</th><td>Ю</td><td>Я</td><td>а́</td><td>е́</td><td>ё́</td><td>и́</td><td>о́</td><td>у́</td><td>ы́</td><td>э́</td><td>ю́</td><td>я́</td><td>А́</td><td>Е́</td><td>Ё́</td><td>И́</td></tr>
<tr><th>П</th><td>О́</td><td>У́</td><td>Ы́</td><td>Э́</td><td>Ю́</td><td>Я́</td><td>₽</td><td>.</td><td>?</td><td>!</td><td>,</td><td>;</td><td>:</td><td>...</td><td>&mdash;</td><td>_</td></tr>

<tr><th>У</th><td>(</td><td>)</td><td>[</td><td>]</td><td>{</td><td>}</td><td>⟨ </td><td>⟩</td><td>⸨</td><td>⸩</td><td>⟦</td><td>⟧</td><td>❴ </td><td>❵</td><td>《</td><td>》</td></tr>

<tr><th>Я</th><td>&lt;</td><td>&gt;</td><td>&le;</td><td>&ge;</td><td>&laquo;</td><td>&raquo;</td><td>„</td><td>”</td><td>=</td><td>≠</td><td>§</td><td>№</td><td>&bull;</td><td>%</td><td>~</td><td>СП</td></tr>

<tr><th>&nbsp;</th><th>О</th><th>Е</th><th>А</th><th>И</th><th>Н</th><th>Т</th><th>С</th><th>Р</th><th>В</th><th>Л</th><th>К</th><th>М</th><th>Д</th><th>П</th><th>У</th><th>Я</th></tr>

</table>
по вертикали первый квартет битов (старший, пишется правее), по горизонтали второй квартет битов (младший, пишется левее),
Таком образом байт с символом пробел будет записан буквами как 'ЯЯ'. Перевод строки (конец строки) - 'ОО'.
Называть таблицу "ООЯЯ-19-07", а кодировку - РУНА-ООЯЯ.
[/html]
Первая половина таблицы использоваться не будет (т.е. по оси "в" (вертикали) будут использоваться только менее часто используемая половина букв), можно развернуть нумерацию:
[html]
<table border="1" cellspacing="0" cellpadding="3">

<tr><th>Я</th><td>ПС</td><td>0</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>+</td><td>&times;</td><td>-</td><td>/</td><td>^</td></tr>

<tr><th>У</th><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><th>П</th><td>©</td><td>®</td><td>™</td><td>&curren;</td><td>₿</td><td>#</td><td>¥</td><td>€</td><td>$</td><td>@</td><td>&</td><td>*</td><td>|</td><td>\</td><td>↑</td><td> ↓</td></tr>
<tr><th>Д</th><td>&deg;</td><td>¶</td><td>`</td><td>'</td><td>"</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
<tr><th>М</th><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>æ</td><td>Æ</td><td>a</td><td>b</td><td>c</td><td>d</td></tr>
<tr><th>К</th><td>e</td><td>f</td><td>g</td><td>h</td><td>i</td><td>j</td><td>k</td><td>l</td><td>m</td><td>n</td><td>o</td><td>p</td><td>q</td><td>r</td><td>s</td><td>t</td></tr>
<tr><th>Л</th><td>u</td><td>v</td><td>w</td><td>x</td><td>y</td><td>z</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td><td>H</td><td>I</td><td>J</td></tr>
<tr><th>В</th><td>K</td><td>L</td><td>M</td><td>N</td><td>O</td><td>P</td><td>Q</td><td>R</td><td>S</td><td>T</td><td>U</td><td>V</td><td>W</td><td>X</td><td>Y</td><td>Z</td></tr>

<tr><th>Р</th><td>а</td><td>б</td><td>в</td><td>г</td><td>д</td><td>е</td><td>ё</td><td>ж</td><td>з</td><td>и</td><td>й</td><td>к</td><td>л</td><td>м</td><td>н</td><td>о</td></tr>
<tr><th>С</th><td>п</td><td>р</td><td>с</td><td>т</td><td>у</td><td>ф</td><td>х</td><td>ц</td><td>ч</td><td>ш</td><td>щ</td><td>ъ</td><td>ы</td><td>ь</td><td>э</td><td>ю</td></tr>

<tr><th>Т</th><td>я</td><td>А</td><td>Б</td><td>В</td><td>Г</td><td>Д</td><td>Е</td><td>Ё</td><td>Ж</td><td>З</td><td>И</td><td>Й</td><td>К</td><td>Л</td><td>М</td><td>Н</td></tr>
<tr><th>Н</td><td>О</td><td>П</td><td>Р</td><td>С</td><td>Т</td><td>У</td><td>Ф</td><td>Х</td><td>Ц</td><td>Ч</td><td>Ш</td><td>Щ</td><td>Ъ</td><td>Ы</td><td>Ь</td><td>Э</td></tr>
<tr><th>И</th><td>Ю</td><td>Я</td><td>а́</td><td>е́</td><td>ё́</td><td>и́</td><td>о́</td><td>у́</td><td>ы́</td><td>э́</td><td>ю́</td><td>я́</td><td>А́</td><td>Е́</td><td>Ё́</td><td>И́</td></tr>
<tr><th>А</th><td>О́</td><td>У́</td><td>Ы́</td><td>Э́</td><td>Ю́</td><td>Я́</td><td>₽</td><td>.</td><td>?</td><td>!</td><td>,</td><td>;</td><td>:</td><td>...</td><td>&mdash;</td><td>_</td></tr>

<tr><th>Е</th><td>(</td><td>)</td><td>[</td><td>]</td><td>{</td><td>}</td><td>⟨ </td><td>⟩</td><td>⸨</td><td>⸩</td><td>⟦</td><td>⟧</td><td>❴ </td><td>❵</td><td>《</td><td>》</td></tr>

<tr><th>О</th><td>&lt;</td><td>&gt;</td><td>&le;</td><td>&ge;</td><td>&laquo;</td><td>&raquo;</td><td>„</td><td>”</td><td>=</td><td>≠</td><td>§</td><td>№</td><td>&bull;</td><td>%</td><td>~</td><td>СП</td></tr>

<tr><th>&nbsp;</th><th>Я</th><th>У</th><th>П</th><th>Д</th><th>М</th><th>К</th><th>Л</th><th>В</th><th>Р</th><th>С</th><th>Т</th><th>Н</th><th>И</th><th>А</th><th>Е</th><th>О</th></tr>

</table>
по вертикали первый квартет битов (старший, пишется правее), по горизонтали второй квартет битов (младший, пишется левее),
Таком образом байт с символом пробел будет записан буквами как 'ОО'. Перевод строки (конец строки) - 'ЯЯ'.
Называть таблицу "ЯО-19-07", а кодировку - РУНА-ЯО.
[/html]

Отредактировано Лис (2019-07-09 10:13:17)

0

17

utkin написал(а):

А чего сразу не рунами?

Обсуждение этой идеи здесь - Международный фонетический алфавит

0

18

Эта кодировка имеет упущение - она не позволяет кодировать церковнославянский язык.

Unicode тоже не позволяет:
http://www.irmologion.ru/developer/fontdev4.html

Зато это отличный аргумент для обоснования необходимости своей кодировки, отличной от Unicode.

0