Люди, помогите, пожалуйста, разобраться с несколькими, казалось бы, глупыми вопросами... Но я уже весь Интернет перерыл - ответа не нашел
Спать не могу!!! 8O
Значит, вот они:
1. End-Of-Line
Изначально EOL представлялся в компьютерах в виде двух символов ASCII <CR><LF>. Это было сделано для того, чтобы телетайпы и принтеры управляемые спец. символами могли нормально работать. Например, старинные принтеры не могли переместить головку одновременно вниз и вначало листа (чтобы перейти в начало новой строки). Поэтому для них и использовались последовательности <CR><LF> (первый символ - для перехода в начало строки, а второй - для переходя на след. строку).
Дожила эта последовательность и до нашех дней. Сначала DOS, затем Windows...
UNIX же пошел другим путем. Было ясно что два символа для перевода строки - это избыточно. И решили применять один. А именно, <LF> (ибо он в конце последовательности <CR><LF>). Macintosh, в свою очередь, для того же оставила только символ <CR>.
К тому же, многие сетевые протоколы используют в качестве разделителя строк все ту же злополучную <CR><LF> которая ИЗБЫТОЧНА.
Я не понимаю - почему <CR><LF> ВСЕ ЕЩЕ ИСПОЛЬЗУЕТСЯ? Кроме как для обратной совместимости - другой причины не вижу. Но ведь в UNIX сразу поняли что это избыточно и оставили лишь один символ - это правильно.
ВОПРОС: Зачем сегодня <CR><LF> используются и продолжают вводится? Особенно в сетевых протоколах где избыточность в данных такого рода не нужна.
Помогите разобраться!!!
2. Binary-Safe
Тут пару вопросов есть по поводу binary-safe.
Во-первых, есть ли четко определенное обозначение того, что это значит?
Я понимаю это, но я не могу объяснить.
Понятие binary-safe было введено только из-за разногласий систем в плане End-Of-Line, когда EOL нужно обрабатывать по-разному в тексте между системами?
Поясните, пожалуйста.
3. Двоичное дополнение
Здесь же я не понимаю смысла двух понятий:
- двоичное дополнение до единицы
- двоичное дополнение до двух
Что такое двоичное дополнение - я знаю. Но почему оно называется "до единицы" и "до двух". Где там единицы и двойки (в формулах дополнения)? НЕ ПОНИМАЮ!!! %)
3. SGML/XML DOCTYPE
В языках SGML, XML, ... есть такое понятие как Document Type Declaration (не Definition).
Это объявление типа документа. Встречается почти в каждом документе в виде:
<!DOCTYPE root ...
Вопрос: зачем указывать в этом объявлении имя корневого элемента документа?
Для указания к чему относится DTD? Да ведь оно в этом документе и так объявлено.
Не понимаю зачем указывать там корневой элемент. Кто-то может объяснить?
ЗАРАНЕЕ ВСЕМ БЛАГОДАРЕН!!!
Кто мне поможет - тому... я даже не знаю. С меня ПИВО!!! МНОГО!!!
Спать не могу!!! 8O
Значит, вот они:
1. End-Of-Line
Изначально EOL представлялся в компьютерах в виде двух символов ASCII <CR><LF>. Это было сделано для того, чтобы телетайпы и принтеры управляемые спец. символами могли нормально работать. Например, старинные принтеры не могли переместить головку одновременно вниз и вначало листа (чтобы перейти в начало новой строки). Поэтому для них и использовались последовательности <CR><LF> (первый символ - для перехода в начало строки, а второй - для переходя на след. строку).
Дожила эта последовательность и до нашех дней. Сначала DOS, затем Windows...
UNIX же пошел другим путем. Было ясно что два символа для перевода строки - это избыточно. И решили применять один. А именно, <LF> (ибо он в конце последовательности <CR><LF>). Macintosh, в свою очередь, для того же оставила только символ <CR>.
К тому же, многие сетевые протоколы используют в качестве разделителя строк все ту же злополучную <CR><LF> которая ИЗБЫТОЧНА.
Я не понимаю - почему <CR><LF> ВСЕ ЕЩЕ ИСПОЛЬЗУЕТСЯ? Кроме как для обратной совместимости - другой причины не вижу. Но ведь в UNIX сразу поняли что это избыточно и оставили лишь один символ - это правильно.
ВОПРОС: Зачем сегодня <CR><LF> используются и продолжают вводится? Особенно в сетевых протоколах где избыточность в данных такого рода не нужна.
Помогите разобраться!!!
2. Binary-Safe
Тут пару вопросов есть по поводу binary-safe.
Во-первых, есть ли четко определенное обозначение того, что это значит?
Я понимаю это, но я не могу объяснить.
Понятие binary-safe было введено только из-за разногласий систем в плане End-Of-Line, когда EOL нужно обрабатывать по-разному в тексте между системами?
Поясните, пожалуйста.
3. Двоичное дополнение
Здесь же я не понимаю смысла двух понятий:
- двоичное дополнение до единицы
- двоичное дополнение до двух
Что такое двоичное дополнение - я знаю. Но почему оно называется "до единицы" и "до двух". Где там единицы и двойки (в формулах дополнения)? НЕ ПОНИМАЮ!!! %)
3. SGML/XML DOCTYPE
В языках SGML, XML, ... есть такое понятие как Document Type Declaration (не Definition).
Это объявление типа документа. Встречается почти в каждом документе в виде:
<!DOCTYPE root ...
Вопрос: зачем указывать в этом объявлении имя корневого элемента документа?
Для указания к чему относится DTD? Да ведь оно в этом документе и так объявлено.
Не понимаю зачем указывать там корневой элемент. Кто-то может объяснить?
ЗАРАНЕЕ ВСЕМ БЛАГОДАРЕН!!!
Кто мне поможет - тому... я даже не знаю. С меня ПИВО!!! МНОГО!!!