В телекоммуникациях символ конца передачи ( EOT ) является символом управления передачей . Его предполагаемое использование — указать на завершение передачи, которая могла включать один или несколько текстов и любые связанные заголовки сообщений . [1]
EOT часто используется для инициирования других функций, таких как освобождение цепей, отключение терминалов или перевод приемных терминалов в состояние ожидания . [1] Наиболее распространенное его применение сегодня — заставить драйвер терминала Unix подать сигнал о конце файла и, таким образом, завершить программы, ожидающие ввода.
В ASCII и Unicode символ кодируется как U+0004 <control-0004> . Его можно обозначить как Ctrl+ D, ^D в нотации с кареткой . Unicode предоставляет символ U+2404 ␄ СИМВОЛ ДЛЯ КОНЦА ПЕРЕДАЧИ для случаев, когда EOT необходимо отобразить графически. [2] Кроме того, U+2301 ⌁ ЭЛЕКТРИЧЕСКАЯ СТРЕЛКА также может использоваться в качестве графического представления EOT; он определен в Unicode как «символ конца передачи». [3]
Символ EOT в Unix отличается от Control-Z в DOS. Байт Control-Z в DOS фактически отправляется и/или помещается в файлы, чтобы указать, где заканчивается текст. Напротив, Control-D заставляет драйвер терминала Unix сигнализировать о состоянии EOF , которое не является символом, в то время как байт не имеет особого значения, если он фактически считывается или записывается из файла или терминала.
В Unix символ конца файла (по умолчанию EOT) заставляет драйвер терминала немедленно сделать доступными все символы в своем входном буфере; обычно драйвер собирает символы, пока не увидит символ конца строки. Если входной буфер пуст (потому что с момента последнего конца строки или конца файла не было введено ни одного символа), программа, считывающая данные с терминала, считывает количество нулевых байтов. В Unix такое состояние понимается как достижение конца файла.
Это можно продемонстрировать с помощью программы cat в операционных системах типа Unix, таких как Linux : запустите команду cat без аргументов, чтобы она приняла ввод с клавиатуры и вывела вывод на экран. Введите несколько символов, не нажимая , затем введите + . Набранные до этого момента символы отправляются в cat, которая затем выводит их на экран. Если набрать + без предварительного ввода каких-либо символов, поток ввода прерывается и программа завершается. Фактический EOT получается при вводе + , а затем + .↵ EnterCtrlDCtrlDCtrlVCtrlD
Если драйвер терминала находится в режиме "raw", он больше не интерпретирует управляющие символы, и символ EOT отправляется в неизменном виде в программу, которая может интерпретировать его как угодно. Затем программа может решить обрабатывать байт EOT как указание на то, что она должна закончить текст; тогда это будет похоже на то, как + обрабатывается программами DOS.CtrlZ
Символ EOT используется в устаревших протоколах связи производителями мэйнфреймов , такими как IBM , Burroughs Corporation и BUNCH . Протоколы управления передачей терминалов, такие как IBM 3270 Poll/Select или протокол Burroughs TD830 Contention Mode, используют символ EOT для завершения последовательности связи между двумя взаимодействующими станциями (например, хост-мультиплексором или терминалом ввода/вывода).
Одна операция Poll (запрос данных у станции) или Select (отправка данных на станцию) будет включать две операции отправки-ответа в обоих направлениях между опрашивающей станцией и опрашиваемой станцией, причем последней операцией будет передача одного символа EOT на инициирующую станцию.