Символ конца передачи


В телекоммуникациях символ конца передачи ( EOT ) является символом управления передачей . Его предполагаемое использование состоит в том, чтобы указать на завершение передачи, которая могла включать один или несколько текстов и любые связанные с ними заголовки сообщения . [1]

EOT часто используется для инициирования других функций, таких как освобождение цепей, отключение терминалов или перевод приемных терминалов в состояние ожидания . [1] Его наиболее распространенное использование сегодня - заставить драйвер терминала Unix сигнализировать о конце файла и, таким образом, закрыть программы, ожидающие ввода.

В ASCII и Unicode символ кодируется как U+0004 <control-0004> . Его можно обозначить как Ctrl+ D, ^D в символе вставки . Unicode предоставляет символ U + 2404СИМВОЛ КОНЦА ПЕРЕДАЧИ (HTML  ) для случаев, когда EOT необходимо отобразить графически. [2] Кроме того, U + 2301ЭЛЕКТРИЧЕСКАЯ СТРЕЛКА также может использоваться как графическое представление EOT; в Unicode он определен как «символ окончания передачи». [3] &#9220;

Символ EOT в Unix отличается от Control-Z в DOS. Байт DOS Control-Z фактически отправляется и/или помещается в файлы, чтобы указать, где заканчивается текст. Напротив, Control-D заставляет драйвер терминала Unix сигнализировать об условии EOF , которое не является символом, в то время как байт не имеет особого значения, если он фактически читается или записывается из файла или терминала.

В Unix символ конца файла (по умолчанию EOT) заставляет драйвер терминала немедленно сделать доступными все символы в своем входном буфере; обычно драйвер собирает символы, пока не увидит символ конца строки. Если входной буфер пуст (поскольку с момента последнего конца строки или конца файла не было введено ни одного символа), программа, считывающая данные с терминала, считывает количество нулевых байтов. В Unix под таким состоянием понимается достижение конца файла.

Это можно продемонстрировать с помощью программы cat в Unix - подобных операционных системах, таких как Linux : запустите команду cat без аргументов, чтобы она принимала ввод с клавиатуры и выводила вывод на экран. Введите несколько символов, не нажимая , затем нажмите + . Набранные до этого момента символы отправляются в программу cat, которая затем выводит их на экран. Если + набирается без предварительного ввода каких-либо символов, входной поток завершается, и программа завершается. Фактический EOT получается путем ввода + затем + .↵ EnterCtrlDCtrlDCtrlVCtrlD