Варикод: эффективный самосинхронизирующийся код для PSK31. Поддерживает ASCII, оптимизирован для английского языка, использует кодирование Фибоначчи. Бесплатен!
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Varicode – это самосинхронизирующийся код, предназначенный для использования в PSK31. Он поддерживает все символы ASCII, но наиболее часто используемые в английском языке символы имеют более короткие коды. Пробел между символами обозначается последовательностью "00", что является реализацией кодирования Фибоначчи. Изначально Varicode был разработан для ускорения обмена сообщениями в реальном времени между пользователями через каналы связи с низкой пропускной способностью и распространяется бесплатно.
Varicode is a self synchronizing code for use in PSK31. It supports all ASCII characters, but the characters used most frequently in English have shorter codes. The space between characters is indicated by a 00 sequence, an implementation of Fibonacci coding. Originally created for speeding up real time keyboard to keyboard exchanges over low bandwidth links, Varicode is freely available.
Ограничения
Varicode обеспечивает несколько меньшую степень сжатия для языков, отличных от английского, использующих тот же набор символов.
Varicode provides somewhat weaker compression in languages other than English that use same characters as in English.
Знаки управления
Varicode Oct Dec Hex Abbr Description1010101011 000 0 00 NUL Символ NULL1011011011 001 1 01 SOH Начало заголовка1011101101 002 2 02 STX Начало текста1101110111 003 3 03 ETX Конец текста1011101011 004 4 04 EOT Конец передачи1101011111 005 5 05 ENQ Запрос1011101111 006 6 06 ACK Подтверждение1011111101 007 7 07 BEL Звонок1011111111 010 8 08 BS Возврат на один символ назад11101111 011 9 09 HT Горизонтальная табуляция11101 012 10 0A LF Перевод строки1101101111 013 11 0B VT Вертикальная табуляция1011011101 014 12 0C FF Перевод страницы11111 015 13 0D CR Возврат каретки1101110101 016 14 0E SO Сдвиг влево1110101011 017 15 0F SI Сдвиг вправо1011110111 020 16 10 DLE Символ экранирования канала передачи данных1011110101 021 17 11 DC1 Управление устройством 1 (XON)1110101101 022 18 12 DC2 Управление устройством 21110101111 023 19 13 DC3 Управление устройством 3 (XOFF)1101011011 024 20 14 DC4 Управление устройством 41101101011 025 21 15 NAK Отрицательное подтверждение1101101101 026 22 16 SYN Синхронный простой1101010111 027 23 17 ETB Конец блока передачи1101111011 030 24 18 CAN Отмена1101111101 031 25 19 EM Конец среды1110110111 032 26 1A SUB Замена1101010101 033 27 1B ESC Экранирование1101011101 034 28 1C FS Разделитель файлов1110111011 035 29 1D GS Разделитель групп1011111011 036 30 1E RS Разделитель записей1101111111 037 31 1F US Разделитель единиц1110110101 177 127 7F DEL Удаление
Varicode Oct Dec Hex Abbr Description1010101011 000 0 00 NUL Null character1011011011 001 1 01 SOH Start of Header1011101101 002 2 02 STX Start of Text1101110111 003 3 03 ETX End of Text1011101011 004 4 04 EOT End of Transmission1101011111 005 5 05 ENQ Enquiry1011101111 006 6 06 ACK Acknowledgment1011111101 007 7 07 BEL Bell1011111111 010 8 08 BS Backspace11101111 011 9 09 HT Horizontal Tab11101 012 10 0A LF Line feed1101101111 013 11 0B VT Vertical Tab1011011101 014 12 0C FF Form feed11111 015 13 0D CR Carriage return1101110101 016 14 0E SO Shift Out1110101011 017 15 0F SI Shift In1011110111 020 16 10 DLE Data Link Escape1011110101 021 17 11 DC1 Device Control 1 (XON)1110101101 022 18 12 DC2 Device Control 21110101111 023 19 13 DC3 Device Control 3 (XOFF)1101011011 024 20 14 DC4 Device Control 41101101011 025 21 15 NAK Negative Acknowledgement1101101101 026 22 16 SYN Synchronous Idle1101010111 027 23 17 ETB End of Trans. Block1101111011 030 24 18 CAN Cancel1101111101 031 25 19 EM End of Medium1110110111 032 26 1A SUB Substitute1101010101 033 27 1B ESC Escape1101011101 034 28 1C FS File Separator1110111011 035 29 1D GS Group Separator1011111011 036 30 1E RS Record Separator1101111111 037 31 1F US Unit Separator1110110101 177 127 7F DEL Delete
Начиная с однобитового кода "1", допустимые значения варикода могут быть сформированы добавлением префикса "1" или "10" к более короткому коду. Таким образом, количество кодов длины n равно числу Фибоначчи Fn. Varicode использует 88 значений длин до 9 бит и 40 из 55 кодов длины 10. Передаваемые коды на два бита длиннее из-за завершающего разделителя 00. + ASCII символы в зависимости от длины варикода:
Beginning with the single bit code "1", valid varicode values may be formed by prefixing a "1" or "10" to a shorter code. Thus, the number of codes of length n is equal to the Fibonacci number Fn. Varicode uses the 88 values of lengths up to 9 bits, and 40 of the 55 codes of length 10. As transmitted, the codes are two bits longer due to the trailing delimiter 00. +ASCII characters by varicode length Bits Codes Characters 1 1 SP 2 1 e 3 2 o t 4 3 a i n 5 5 LF CR l r s 6 8 c d f h m p u 7 13 , = A E I S T b g v w y 8 21 HT ( ) 0 1 2 3 : B C D F G L M N O P R k x 9 34 ! " # $ ' * + / 4 5 6 7 8 9 ; < > H J K Q U V W X Y [ \ ] j q z 10 40 NUL SOH STX ETX EOT ENQ ACK BEL BS VT FF SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EOM SUB ESC FS GS RS US % & ? @ Z ^ ` { } ~ DEL
Биты Коды Символы
1 1 SP
2 1 e
3 2 o t
4 3 a i n
5 5 LF CR l r s
6 8 c d f h m p u
7 13 , = A E I S T b g v w y
8 21 HT ( ) 0 1 2 3 : B C D F G L M N O P R k x
9 34 ! " # $ ' * + / 4 5 6 7 8 9 ; < > H J K Q U V W X Y [ \ ] j q z
10 40 NUL SOH STX ETX EOT ENQ ACK BEL BS VT FF SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EOM SUB ESC FS GS RS US % & ? @ Z ^ ` { } ~ DEL
Beginning with the single bit code "1", valid varicode values may be formed by prefixing a "1" or "10" to a shorter code. Thus, the number of codes of length n is equal to the Fibonacci number Fn. Varicode uses the 88 values of lengths up to 9 bits, and 40 of the 55 codes of length 10. As transmitted, the codes are two bits longer due to the trailing delimiter 00. +ASCII characters by varicode length Bits Codes Characters 1 1 SP 2 1 e 3 2 o t 4 3 a i n 5 5 LF CR l r s 6 8 c d f h m p u 7 13 , = A E I S T b g v w y 8 21 HT ( ) 0 1 2 3 : B C D F G L M N O P R k x 9 34 ! " # $ ' * + / 4 5 6 7 8 9 ; < > H J K Q U V W X Y [ \ ] j q z 10 40 NUL SOH STX ETX EOT ENQ ACK BEL BS VT FF SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EOM SUB ESC FS GS RS US % & ? @ Z ^ ` { } ~ DEL