|
|||
|
|||
Базовые знания - 2 |
|||
Дмитрий Турецкий После появления предыдущей заметки из этой серии мне пришло довольно много писем, причем не только (и не столько :) от начинающих пользователей, но и от системных администраторов. Все сошлись на том, что дело это нужное, расхождения были только в уровне оценки пользователей :) Кто-то предлагал, оставить всяческие dll-ки "на потом", т.к. это уже для продвинутого пользователя; кто-то предлагал для объяснения того, что такое "консольная программа" не использовать страшной терминологии, вроде "графический интерфейс"; кто-то считал что это все "детский лепет" и рассказывать надо о том, чем отличается UDMA33 от UDMA66 и как установить 8 операционных систем на один диск (благо, двадцати- и тридцатигигабайтные диски уже не редкость)... Но, честно говоря, прочитав эти письма я остался при своем мнении, хотя и получил пищу для размышлений и несколько новых идей. Дело в том, что я не хочу относится к пользователям как к идиотам. Люди, которые думать не умеют и не хотят все-равно не будут читать эти заметки, а для остальных достаточно указать общий принцип, грубо говоря, подсказать "в какую сторону копать", чтобы получить более детальную информацию. В выборе же тем я ориентируюсь на те вопросы которые мне задают, и тут я не уверен, что стоит разделять пользователей на "более продвинутый" и "менее продвинутый" уровень - тот же вопрос о "стандартных библиотеках" всплывает, пожалуй, чаще других... Так что, "не стреляйте в пианиста - он играет, как умеет" :)) Хотя я буду рад выслушать ваши мнения по этому вопросу... А теперь - приступим. Пакетная обработка, она же "batch processing" Большинство программ позволяет вам работать с каким-то одним файлом. Или с несколькими, но по очереди, переключаясь между ними. Но бывают ситуации, когда требуется провести какую-то однотипную операцию с большим количеством файлов, например переконвертировать все файлы в директории из HTML в текст, или перевести из одной кодировки в другую, или привести все картинки к одному и тому же размеру... Да мало ли чего еще! Здесь-то и нужна пакетная обработка... Программы, поддерживающие эту функцию позволяют вам указать что именно вы хотите проделать с файлами (причем иногда это могут быть довольно сложные задания, использующие специальные скрипты), указать набор (пакет) файлов над которыми эту операцию надо проводить и затем, после нажатия какой-то кнопочки программа будет работать самостоятельно, выполняя данное ей задание. В принципе, пакетной обработкой можно считать, например, и проверку антивирусом всех файлов на диске, и проверку корректности ссылок специальными программами, но как правило, говоря о пакетной обработке подразумевают действия, при которых файлы, получающиеся после обработки как-то отличаются от исходных. Биты, байты, килобайты Компьютер умеет оперировать только числами. Причем двоичными, т.е. он использует только две цифры: 0 и 1. Сделано так потому, что уж больно лего их отслеживать, например, есть сигнал - значит 1, нету - значит 0. Разумеется, на самом деле все намного сложнее, но общий принцип именно такой. Люди оперируют десятичными числами и используют цифры от 0 до 9. Любое число из них составленное, например, 123 расшифровывается как 1*10**2+2*10**1+3*10**0 (здесь знак "*" означает умножение, а "**" - возведение в степень). Числа же записанные в двоичной системе, например, 1101 расшифровываются как 1*2**3+1*2**2+0*2**1+1*2**0 Именно потому что в качестве основания степени используется 2 эта система называется двоичной, а человеческая система, в которой используется 10 - десятичной. Каждый нолик или единица в двоичной записи (точнее, при использовании этих данных в компьютере) называется бит. Бит является минимальной единицей информации, которую понимает компьютер - действительно, куда ж его еще делить-то... Группа из восьми бит называется байт, как правило, именно байты используются во всевозможных околокомпьютерных понятиях, т.к. бит уж очень маленький. Максимальное число, которое может быть представлено одним байтом, это 11111111 = 2**7+2**6+2**5+2**4+2**3+2**2+2**1+2**0 = 128+64+32+16+8+4+2+1=255 Приставка кило-, употребляемая перед единицей чего-то, означает 1000, например, кило-грамм - это 1000 грамм. Другие часто используемые приставки - это мега- (1000 000) и гига- (1000 000 000). Но 1000 не является степенью двойки и поэтому в двоичной системе выражается довольно некрасиво. Для обозначения больших количеств компьютерных данных решили использовать двойку в десятой степени, т.е. 1024. Есть даже старая шутка, что "юзер уверен, что в килобайте 1000 байт, а программист считает, что в километре 1024 метра". На самом же деле, килобайт - это 1024 байт или 8192 бита; мегабайт - это 1024 килобайта; гигабайт - 1024 мегабайта и т.д. Вообще, для всех, кто связан с компьютерами степени двойки являются очень круглыми числами - 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 и т.д. И именно эти числа часто присутствуют во всевозможных компьютернах технологиях и названиях, например FAT-32, 16-ти битный цвет, 128 Мб памяти... Кодировка, кодовая страница, codepage, ASCII, charset Как говорилось выше, данные в компьютере представлены числами. И буквы тоже. Т.е. люди просто договорились сопоставить каждой букве какое-то число и такая таблица соответствия чисел буквам получила название ASCII-таблицы (от American Standard Code for Information Interchange). Для кодирования каждого символа в ней отводился один байт, т.е. всего в нее попало 255 символов. Но так как компьютеры создавались в Америке и стандарт разрабатыался там же, то и таблица эта была ориентирована на английский язык. В ее "нижнюю половину" (первые 128 символов, кодируемых семью битами) вошли буквы латинского алфавита, цифры, знаки препинания и специальные управляющие символы (используемые, например, при печати); а в "верхнюю половину" попали символы псевдографики (по разному раскрашенные квадратики), частоиспользуемые греческие буквы, отдельные буквы некоторых других алфавитов и т.п. Но когда компьютеры попали в другие страны, в частности, в Россию, вдруг выяснилось, что для русских букв места-то и нету! И тогда было принято решение, в дополнение к "стандартной таблице" создать, так сказать, ее "местные стандарты". В них "нижняя половина таблицы" оставалась неизменной, что позволяло без проблем обмениваться сообщениями на английском языке (или точнее, использующими только латинские буквы), а в "верхней половине таблицы" вместо стандартных символов размещались буквы национального алфавита. Такие локальные варианты ASCII-таблицы получили название кодовых страниц. Но проблема оказалась несколько сложнее. Дело в том, что в русском языке, например, 33 буквы, с учетом заглавных - 66. А места в таблице - больше. И буквы эти можно расположить по-разному. И еще до того, как был предложен какой-то единый стандарт, в России, например, появилось несколько популярных вариантов кодовых страниц, скажем, "866", используемая для ДОСа и "KOI8-R", используемая в большинстве UNIX систем. Затем появилась Windows и ввела свою кодировку - 1251. Были (и есть!) и другие... Это привело к необходимости создания специальных программ-перекодировщиков, которые позволяли переводить тексты из одной кодовой страницы в другую, что в свою очередь приводило и до сих пор иногда приводит к неразберихе, когда, например, письмо, отправленное по электронной почте несколько раз перекодируется по дороге или тексты подготовленные в одном редакторе, не хотят читаться в другом. Опасаясь этих проблем или не имея возможности подготовить текст в нужной кодировке, многие предпочитают пользоваться "транслитом", когда русские слова записываются латинскими буквами, primerno vot tak (помните, что "нижняя половина ASCII-таблицы" остается неизменной для всех кодировок?) Есть даже специальные программы, переводящие русский текст в/из транслита... Вы сможете найти множество программ-перекодировщиков у меня на сайте. Продолжение следует... Источник: http://www.diskovod.ru
|
|||
|
|||
Copyright © "Internet Zone", info@izcity.com | |||
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас. |