Что такое возврат каретки, перевод строки и подача формы?

Я искал решение на весь этот день. И вот те выводы, которые я сделал:

  1. По соображениям безопасности Opera и Firefox не позволяют запускать ввод файла.
  2. Единственная удобная альтернатива - создать «скрытый» ввод файла (с использованием непрозрачности, а не «скрытый» или «дисплей: нет»!), а затем создайте кнопку «ниже». Таким образом, кнопка видна, но при нажатии на нее пользователь фактически активирует ввод файла.

Надеюсь, это поможет! :)

<div style="display: block; width: 100px; height: 20px; overflow: hidden;">
<button style="width: 110px; height: 30px; position: relative; top: -5px; left: -5px;"><a href="javascript: void(0)">Upload File</a></button>
<input type="file" id="upload_input" name="upload" style="font-size: 50px; width: 120px; opacity: 0; filter:alpha(opacity=0);  position: relative; top: -40px;; left: -20px" />
</div>
443
задан legends2k 10 September 2014 в 10:33
поделиться

5 ответов

Возврат каретки означает возврат к началу текущей строки без продвижения вниз. Название происходит от каретки принтера, так как мониторы были редкостью, когда было придумано это название. Обычно это обозначается как "\r", сокращенно CR, и имеет ASCII значение 13 или 0x0D.

Linefeed означает переход вниз к следующей строке; однако это понятие было переиспользовано и переименовано. Используемая как "новая строка", она завершает строки (обычно путают с разделяет строки). Он обычно экранируется как "\n", сокращенно LF или NL, и имеет ASCII значение 10 или 0x0A. CRLF (но не CRNL) используется для пары "\r\n".

Подача формы означает продвижение вниз к следующей "странице". Обычно он использовался в качестве разделителя страниц, но теперь также используется в качестве разделителя разделов. (В исходном коде он редко используется для разделения логически независимых функций или групп функций). Текстовые редакторы могут использовать этот символ при "вставке разрыва страницы". Он обычно экранируется как "\f", сокращенно FF, и имеет ASCII значение 12 или 0x0C.

Как управляющие символы, они могут интерпретироваться по-разному.

Наиболее распространенное различие (и, вероятно, единственное, о котором стоит беспокоиться) - строки заканчиваются CRLF в Windows, NL в Unix-подобных системах и CR в старых Mac (ситуация изменилась в OS X, чтобы быть похожей на Unix). Обратите внимание на изменение значения от LF до NL для одного и того же символа, что дает различия между Windows и Unix. (Windows, конечно, новее, чем Unix, поэтому она не приняла этот семантический сдвиг. Я не знаю истории использования CR в компьютерах Mac). Многие текстовые редакторы могут читать файлы в любом из этих трех форматов и конвертировать между ними, но не все утилиты могут это делать.

Форма подачи немного интереснее (хотя и реже используется напрямую), и при обычном определении разделителя страниц он может находиться только между строками (например, после последовательности символов новой строки NL, CRLF или CR) или в начале или конце файла.

585
ответ дан 22 November 2019 в 22:57
поделиться

Взгляните на Википедию :

Системы, основанные на ASCII или совместимом наборе символов, используют либо LF (перевод строки, '\ n', 0x0A, 10 в десятичном формате) или CR (возврат каретки, '\ r', 0x0D, 13 в десятичном формате) по отдельности или CR, за которым следует LF (CR + LF, 0x0D 0x0A). Эти символы основаны на командах принтера: перевод строки указывает, что одна строка бумаги должна выходить из принтера, а возврат каретки указывает, что каретка принтера должна вернуться в начало текущей строки.

31
ответ дан 22 November 2019 в 22:57
поделиться

На старых терминалах с принтером для бумаги переход к следующей строке включал два действия: перемещение печатающей головки назад в начало диапазона горизонтального сканирования (возврат каретки) и продвижение рулона бумаги, на котором выполняется печать (перевод строки).

Поскольку мы больше не используем терминалы для печати на бумаге, эти действия больше не актуальны, но символы, используемые для их сигналов, застряли в различных воплощениях.

18
ответ дан 22 November 2019 в 22:57
поделиться

«\ n» - это символ перевода строки. Это означает конец текущей строки и переход к новой строке для всех, кто ее читает.

3
ответ дан 22 November 2019 в 22:57
поделиться

Это непечатаемые символы, относящиеся к концепции «новой строки». \ n перевод строки. \ r - возврат каретки. На разных платформах они имеют разное значение относительно действующей новой строки. В окнах новая строка - \ r \ n. В Linux \ n. В Mac \ r.

На практике вы помещаете их в любую строку, и это повлияет на распечатку строки.

2
ответ дан 22 November 2019 в 22:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: