Сообщение произвольной длины с набором дополнительных символов фиксированной длины

Обновлено: 05.05.2024

Обозначим через последовательность последовательных букв дискретного источника. Каждая буква выбирается из алфавита таким образом, имеются различных последовательностей длины которые могут появляться на выходе источника. Предположим, что нужно закодировать эти последовательности в слова кода с фиксированной длиной. Если кодовый алфавит состоит из символов и если длина каждого кодового слова равна то существуют различных последовательностей кодовых букв, которые могут быть рассмотрены как кодовые слова. Следовательно, если нужно сопоставить различные кодовые слова разным последовательностям источника (это необходимо сделать, если требуется восстановить каждую возможную последовательность источника по ее кодовому слову), то получаем

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

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

Если мы хотим использовать меньше чем кодовых букв на один символ источника, то, очевидно, нужно ослабить требование того, чтобы всегда было возможно декодировать последовательность источника по кодовой последовательности. Отсюда следует, что мы должны приписать кодовые слова только некоторому подмножеству последовательностей источника длины Далее будет показано, что для достаточно больших вероятность получения последовательности источника, которая не соответствует никакому слову, может быть сделана произвольно малой и в то же самое время число кодовых букв на один символ источника может быть сделано сколь угодно близким к

Для источника без памяти вероятность данной последовательности из букв источника равна произведению вероятностей отдельных букв источника

В этом равенстве каждая буква выбирается из алфавита с вероятностью Так, например, если источник имеет алфавит из двух букв то вероятность последовательности при равна Собственная информация последовательности имеет вид

Каждая буква представляет собой статистически независимую выборку для одного и того же источника и, следовательно, (3.1.2) утверждает, что является суммой независимых одинаково распределенных случайных величин. Так как среднее значение каждой из случайных величин является энтропией источника то из закона больших чисел следует, что, если велико, то будет с большой вероятностью близко к

Символ в равенстве (3.1.3) используется как для того, чтобы показать приближенность равенства, так и для того, чтобы подчеркнуть, что мы не хотим указать точный смысл этого приближения. В начале

рассмотрим следствия равенства (3.1.3), а затем возвратимся, чтобы дать необходимые математические уточнения. Из (3.1.3) имеем

Здесь и до конца этой главы все энтропии будут выражаться в битах, т. е. будут определены логарифмами с основанием 2. Из равенства (3.1.5) вероятность любой типичной достаточно длинной последовательности источника длины в некотором смысле приближенно равна следовательно, число таких типичных последовательностей должно быть приближенно равно

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

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

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

Это означает, что вероятность того, что выборочное среднее отличается от более чем на произвольную фиксированную

величину стремится к нулю при увеличении Для некоторых заданных пусть множество последовательностей для которых

Это множество ранее мы называли множеством типичных последовательностей; из (3.1.7) получаем

Преобразуя (3.1.9), получаем для

Можно ограничить число последовательностей в заметив, что

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

Точно так же, используя (3.1.10), получаем

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

Неравенства дают точные утверждения, соответствующие (3.1.5) и (3.1.6).

Тогда из (3.1.13) следует, что общее число кодовых слов больше, чем и можно сопоставить кодовые слова всем принадлежащим Используя этот метод, получаем

Если теперь считать, что достаточно велико и, одновременно увеличивая удовлетворить то можно увидеть из (3.1.8) и (3.1.16), что стремится к 0 при любом Покажем теперь, что, если фиксировать равным любому числу, меньшему то вероятность ошибки должна стремиться к 1 при стремящемся к Выберем теперь N так, чтобы

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

Таким образом, если то должна стремиться к 1 при любом Можно подытожить эти результаты следующей фундаментальной теоремой.

Теорема 3.1.1. (Теорема кодирования для источника.) Пусть дискретный источник без памяти имеет конечную энтропию Рассмотрим кодирование последовательностей из букв источника в последовательности из N кодовых букв, принадлежащих кодовому алфавиту объема Каждой кодовой последовательности может быть сопоставлена только одна последовательность источника. Пусть вероятность появления последовательности источника, которой не сопоставлена никакая кодовая последовательность. Тогда, если при каком-либо

то можно сделать произвольно малой, выбирая достаточно большим. Обратно, если

то становится сколь угодно близкой к 1, когда становится достаточно большим.

Теореме 3.1.1 можно дать очень простое и полезное эвристическое толкование. Так как кодовые слова дают попросту другое представление вероятных последовательностей источника, то они должны иметь в точности такую же энтропию, как последовательности источника.

Кроме того, как было показано в гл. представляет собой наибольшую энтропию на одну букву, которой может обладать последовательность букв алфавита объема такая энтропия возникает, когда буквы равновероятны и статистически независимы. Теорема 3.1.1 утверждает, таким образом, что можно закодировать буквы произвольного дискретного источника без памяти так, что энтропия кодовых букв будет, по существу, максимальной.

1. Зависимость производительности от аппаратного обеспечения, на котором работает межсетевой экран, является недостатком VPN на основе .

маршрутизаторов межсетевых экранов программных решений

специализированных аппаратных средств со встроенными шифропроцессорами

2.Ключ шифра - это .

совокупность всех данных передаваемых только по закрытым каналам совокупность данных, определяющих конкретное преобразование из множества преобразований шифра данные, подлежащие немедленному расшифрованию по получению

3.При количестве рабочих мест от 100 до 500 целесообразно применять антивирусный программный комплекс .

McAfee Active Virus Defense Norton Antivirus от Symantec

Антивирус Dr. Web

Антивирус Касперского (AVP) Personal

4. Неверно, что статистические методы анализа могут быть применены .

при значительном (более 1000) числе рабочих мест сети при отсутствии шаблонов типичного поведения в распределенных сетях

5. Основное отличие активного радиочастотного идентификатора от пассивного в .

наличии блока питания способности излучать радиосигнал особенностях архитектуры ЗУ

6. Неверно, что межсетевому экрану, основанному на фильтрации пакетов присуща характеристика .

сложность реализации сложность правил маршрутизации

невозможность полного тестирования правил фильтрации

7. Неверно, что к достоинствам аппаратных средств ИБ относится …

высокая производительность адаптивность ресурсонезависимость аппаратных средств

один и тот же ключ два различных ключа более двух ключей

9. Высокая стоимость решения в пересчете на одно рабочее место является недостатком VPN на основе …

маршрутизаторов межсетевых экранов программных решений

11. Обнаружение вирусов, ранее не известных, возможно при использовании …

метода сравнения с эталоном эвристического анализа антивирусного мониторинга метода обнаружения изменений

12. Процесс идентификации заключается в распознавании пользователя только по

биометрическим признакам представляемой им контрольной информации

по присущим и/или присвоенным идентификационным признакам

13. Объектом доступа называется …

любой, работоспособный в настоящий момент элемент ОС любой элемент ОС, доступ к которому пользователей и других субъектов доступа может быть произвольно ограничен любой элемент ОС, востребованный пользователем для работы

14. Сетевое устройство, подключаемое к двум сетям, которое выполняет функции шифрования и аутентификации для многочисленных хостов, расположенных за ним

Шлюз безопасности VPN

15. Одним из основных достоинств статистического метода анализа сетевой информации является …

высокая скорость обработки данных использование апробированного математического аппарата

низкая стоимость внедрения и эксплуатации данного метода

16. В ходе выполнения процедуры … происходит подтверждение валидности пользователя

17. Туннель – это …

логическое соединение, позволяющее инкапсулировать данные одного протокола в пакеты другого логическое соединение с обязательной криптографической защитой передаваемой информации

физическое соединение, обеспечивающее высокий уровень защиты передаваемой информации

18. Необходимым, но не достаточным при определении вируса является такое свойство, как …

способность к созданию собственных копий свойства деструктивности

скрытность действий данной вредоносной программы в вычислительной среде

19. Домен безопасности определяет набор …

типов операций, которые могут производиться над каждым объектом ОС субъектов, которые могут производить операции над каждым объектом ОС объектов и типов операций, которые могут производиться над каждым объектом ОС

20. Принцип действия электронной цифровой подписи (ЭЦП) основан на …

21. Реалистичная политика работы сетевого экрана - это политика, при которой найден баланс между защитой сети организации от известных рисков и …

требуемыми для этого ресурсами (финансовыми, временными) необходимым доступом пользователей к сетевым сервисам прогнозированием неизвестных рисков

22. Обязательным требованием, предъявляемым к выбираемой системе, анализа защищенности является …

отсутствие необходимости изменения сетевой инфраструктуры предприятия отсутствие необходимости переквалификации персонала наличие специализированных СУБД

23. В симметричной системе шифрования для независимой работы N абонентов требуется …

N! ключей N(N-1)/2 ключей NN ключей

24. В типовой системе обнаружения атак функцию сбора данных из контролируемого пространства выполняет …

модуль слежения подсистема обнаружения атак подсистема реагирования

подсистема управления компонентами

25. В типовой системе обнаружения атак функцию изменения политики безопасности выполняет …

база знаний хранилище данных модуль слежения

подсистема управления компонентами

один и тот же ключ

два ключа более двух ключей

27. В типовой системе обнаружения атак функцию хранения профилей пользователей выполняет …

модуль слежения подсистема обнаружения атак хранилище данных база знаний

28. Неверно, что требованием к безопасности асимметричной системы является …

Вычисление пары ключей (КВ, kВ) получателем B на основе начального условия должно быть простым

Противник, зная открытый ключ KB, при попытке вычислить секретный ключ kB наталкивается на непреодолимую вычислительную проблему

29. Вирус является наиболее уязвимым со стороны антивирусного программного обеспечения во время …

исполнения передачи передачи/приема

30. Неверно, что к наиболее важным характеристикам систем идентификации и аутентификации (СИ) относится …

структура и состав устройств ввода-вывода надежность мощность, потребляемая изделием стоимость

31. Концепция криптографических систем с открытым ключом основана на …

территориальном разнесении составных элементов ключа применении однонаправленных функций

32. Порядок фильтрации информационных потоков регламентируется …

техническими характеристиками межсетевого экрана текущими распоряжениями руководства компании действующей политикой безопасности

33. Программы-посредники могут выполнять разграничение доступа к ресурсам внутренней или внешней сети на основе …

анализа содержания принимаемой/передаваемой информации запросов пользователей

результата идентификации и аутентификации пользователей при их обращении к межсетевому экрану

34. Порядок доступа персонала к ОС регламентируется …

штатным расписанием компании распоряжением непосредственных руководителей

действующей политикой безопасности компании.

35. Антивирусные сканеры функционируют, используя …

метод сравнения с эталоном эвристический анализ антивирусный мониторинг метод обнаружения изменений

36. Передача симметричного ключа по незащищенным каналам в открытой форме

допускается не допускается

зависит от обстоятельств

37. В асимметричной системе шифрования для независимой работы N абонентов требуется …

2N ключей (где ключ = закрытый ключ + открытый ключ) NN ключей (где ключ = закрытый ключ + открытый ключ)

N (N-1) ключей (где ключ = закрытый ключ + открытый ключ)

38. Шифром называется …

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

39. Виртуальной защищенной сетью VPN (Virtual Private Network) называют объединение локальных сетей и отдельных компьютеров через …

закрытую внешнюю среду передачи информации в единую виртуальную корпоративную сеть защищенную внешнюю среду передачи информации в единую виртуальную

корпоративную сеть открытую внешнюю среду передачи информации в единую виртуальную корпоративную сеть

40. Если шифр соответствует установленным требованиям, длина шифрованного текста …

должна быть равной длине исходного текста должна быть больше длины исходного текста может быть меньше длины исходного текста

41. Отечественный стандарт хэширования ГОСТ Р 34.11-94 …

42. Наибольшая универсализация средств защиты реализована в VPN на основе …

маршрутизаторов межсетевых экранов программных решений

специализированных аппаратных средств со встроенными Шифропроцессорами

43. Если шифр соответствует установленным требованиям, незначительное изменение ключа …

44. При ролевом управлении доступом для каждого пользователя одновременно …

может быть активна только одна роль может быть активна только две роли

могут быть активны произвольное количество ролей

45. Существующие механизмы анализа защищенности работают на … этапе осуществления атаки

46. Экранирующий маршрутизатор функционирует …

на сетевом уровне эталонной модели OSI на сеансовом уровне эталонной модели OSI

на прикладном уровне эталонной модели OSI

47. Если шифр соответствует установленным требованиям, знание злоумышленником алгоритма шифрования …

снизит надежность защиты информации не окажет влияния на надежность защиты

приведет к полному раскрытию всех зашифрованных ранее данных

48. Наибольшую защищенность информации обеспечивают VPN на основе …

Маршрутизаторов межсетевых экранов программных решений

специализированных аппаратных средств со встроенными шифропроцессорами

49. Неверно, что при статической биометрии идентификационным признаком является …

геометрия руки образец голоса

папиллярные узоры (отпечатки пальцев)

50. Высокая производительность является главным достоинством VPN на основе …

Маршрутизаторов межсетевых экранов программных решений

специализированных аппаратных средств со встроенными шифропроцессорами

51. Третье требование к безопасности асимметричной системы: …

к зашифрованным данным никто не имеет доступа, кроме лиц, владеющих ключом недоступность ключа неавторизованным лицам обеспечивает гарантированную защиту информации зашифрованные данные не сможет прочитать никто из тех, кто не обладает ключом для их расшифрования

53. При незначительном (менее 100) количестве рабочих мест целесообразно применять антивирусный программный комплекс …

McAfee Active Virus Defense Norton Antivirus от Symantec

Антивирус Dr. Web

Антивирус Касперского (AVP) Personal

54. Существующие механизмы защиты, реализованные в межсетевых экранах, серверах аутентификации, системах разграничения доступа работают на … этапе осуществления атаки

55. Одной из основных причин создания адаптивной системы информационной безопасности является …

увеличение объема информационных потоков (рост трафика) рост числа рабочих мест сети рост количества уязвимостей сети

56. Критерии анализа информационных потоков, проводимого межсетевым экраном зависят от …

содержания получаемой/передаваемой информации уровня модели OSI, на которой размещен МЭ интенсивности информационного потока

57. Правила разграничения доступа …

не должны допускать наличие ничейных объектов могут допускать наличие ничейных объектов

строго определяют количество и типы ничейных объектов

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

возможное ограничение пропускной способности отсутствие встроенных механизмов защиты от вирусов

отсутствие эффективной защиты от получаемого из Интернета опасного содержимого стоимость

59. Шлюз сеансового уровня охватывает в своей работе …

прикладной и представительский уровни эталонной модели OSI

транспортный и сетевой уровни эталонной модели OSI канальный и физический уровни эталонной модели OSI

61. Электронная цифровая подпись - это .

параметрами без использования дополнительной информации относительно небольшое количество дополнительной цифровой информации, передаваемой вместе с подписываемым текстом

62. К достоинствам идентификаторов на базе электронных ключей iButton относятся

характеристики надежности характеристики способа записи и считывания данных массо-габаритные характеристики стоимостные характеристики

63. Межсетевой экран (МЭ) выполняет функции:

ограничения доступа внешних (по отношению к защищаемой сети) пользователей к внутренним ресурсам корпоративной сети разграничения доступа пользователей защищаемой сети к внешним ресурсам

разграничения доступа пользователей защищаемой сети к внешним ресурсам и ограничение доступа внешних (по отношению к защищаемой сети) пользователей к внутренним ресурсам корпоративной сети

64. Необходимым, но не достаточным при определении вируса является такое свойство, как …

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

скрытность действий данной вредоносной программы в вычислительной среде

65. Правильная последовательность выполнения операций:

идентификация, авторизация, аутентификация авторизация, идентификация, аутентификация идентификация, аутентификация, авторизация

66. В типовой системе обнаружения атак основным элементом является …

модуль слежения подсистема обнаружения атак хранилище данных база знаний

67.Методом доступа называется операция, .

назначенная для субъекта являющиеся общими для всех субъектов определенная для объекта

68. Степень надежности криптографической системы определяется .

длиной ключа алгоритмом преобразования

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

69. Если количество абонентов сети превышает 500 человек целесообразно

применять антивирусный программный комплекс.

McAfee Active Virus Defense Norton Antivirus от Symantec

Антивирус Dr. Web

Антивирус Касперского (AVP) Personal

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Строковые типы данных фиксированной длины в Firebird используются для хранения строк, длина которых является одной и той же или очень близкой, либо там, где фор- мат или относительная позиция символов может передавать семантическое содержание. Обычно они применяются для таких элементов, как идентификационные коды, номера удаленной связи, базирующиеся на символах цифровые системы, а также для объявления полей с целью хранения предварительно форматированных строк фиксированной длины, чтобы конвертировать их в другие типы данных - например, литералы даты Firebird.

Начальные символы пробелов (символ ASCII 32) во вводимых строках фиксированной длины являются значимыми, в то время как завершающие - нет. При сохранении строк фиксированной длины Firebird убирает конечные пробелы. Строки отыскиваются без избыточного расширения до объявленной длины.

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

Типы данных фиксированной точности

Типы данных фиксированной точности Обозначения типов данных фиксированной точности получаются из обычных обозначений типов данных Win32, таких как DWORD или LONG, добавлением суффикса размера, как показано в табл. 16.1.Таблица 16.1. Типы данных фиксированной точности Тип

Типы данных с фиксированной точкой

Типы данных с фиксированной точкой К этим типам данных относятся NUMERIC и DECIMAL. Часто звучит вопрос, чем NUMERIC отличается от DECIMAL. Оба этих типа имеют одинаковую разрядность - от 1 до 18 знаков, одинаковую точность - от нуля до разрядности.Напомним, что разрядность - это общее

Сравнение строк разной длины

Сравнение строк разной длины Но что будет, если придется сравнивать строки неравной длины? Если начало одной строки в точности совпадает с другой, более короткой строкой, то длинная строка считается больше короткой. Например:"В горах, в пещере" > "В горах" дает в

Проставление длины дуги

Проставление длины дуги Подобно линейным размерам, AutoCAD может проставлять длину дуги, для чего используется команда DIMARC. По умолчанию программа измеряет полную длину дуги, от одной крайней точки до другой, но вы можете выбрать измерение длины части дуги. Кроме Mtext, Text и Angle,

2.4. Получение длины строки

11.21. Реализация чисел с фиксированной точкой

11.21. Реализация чисел с фиксированной точкой ПроблемаТребуется обеспечить выполнение вычислений с вещественными числами, используя тип с фиксированной, а не с плавающей точкой.РешениеВ примере 11.40 представлена реализация вещественного числа с фиксированной точкой,

Масштабируемые типы с фиксированной точкой

Масштабируемые типы с фиксированной точкой Типы с фиксированной точкой позволяют управлять числами, которые должны вычисляться с дробной частью, задающейся количеством цифр после десятичной точки, или масштабом. Обычно масштабируемые типы нужны для финансовых

Поведение типов с фиксированной точкой в операциях

Поведение типов с фиксированной точкой в операциях ДелениеПри выполнении деления типов с фиксированной точкой диалекты 1 и 3 ведут себя по-разному.В диалекте 3, когда оба операнда являются типами с фиксированной точкой, Firebird суммирует масштабы обоих операндов для

Символьные данные переменной длины

Символьные данные переменной длины Строковые типы данных переменной длины в Firebird используются для хранения строк, длина которых может изменяться. Обязательный аргумент размера n ограничивает количество символов, которые могут храниться в столбце максимум n символами.

Изменение длины

Изменение длины Если изменить длину аудиоданных, то высота тона тоже изменится, что в большинстве случаев нежелательно. Программа Sound Forge содержит процессор Time Stretch (Временное растягивание), позволяющий изменить длину аудиоданных без воздействия на высоту тона.Чтобы

Проставление длины дуги

Проставление длины дуги Подобно линейным размерам, AutoCAD может проставлять длину дуги, для чего использует команду DIMARC. При использовании команды DIMARC вы выбираете участок дуги, и AutoCAD измеряет его длину. По умолчанию AutoCAD измеряет полную длину дуги, от одной крайней точки

Символьные данные в XML-документах

Символьные данные в XML-документах Каковы бы ни были структура и синтаксис текстового документа, основой его всегда являются символы. Для хранения и обработки текста на компьютерах, которые по своей природе являются цифровыми устройствами, каждому символу нужно

Как мы планируем релизы и составляем контракты с фиксированной стоимостью

Как мы планируем релизы и составляем контракты с фиксированной стоимостью Иногда нужно планировать дальше, чем на один спринт вперед. Это типичная ситуация для контрактов с фиксированной стоимостью, когда нам приходится планировать наперед, или же есть риск подписаться

Еще одна форма хранения данных — файл на диске, предназначенный для записей фиксированной длины. В этой схеме данные состоят из ряда записей одинаковой длины. Нумерация этих записей либо не имеет значения, либо определяется по какой-нибудь схеме индексации.

Например, у нас может быть ряд записей со следующими данными:

Таким образом, длина каждой записи составляет 83 байта. Если бы мы читали все эти данные в базе данных, то делали бы это порциями по 83 байта до тех пор, пока не добрались до конца. Если бы мы хотели перейти к пятой записи, то мы пропустили бы четыре раза по 83 байта (332 байта) и прочитали бы непосредственно пятую запись.

Perl поддерживает программы, которые используют файл с подобными записями. Помимо того, что вы уже знаете, понадобятся еще несколько операций:

  1. Открытие файла на диске для чтения и записи.
  2. Переход в этом файле на произвольную позицию.
  3. Выборка данных фиксированной длины, а не до следующего символа новой строки.
  4. Запись данных блоками фиксированной длины.

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

Отметим, что все, что мы сделали — это добавили знак плюс к спецификации, задающей направление ввода-вывода данных в файл.

Открыв файл, мы должны перейти на определенную позицию в нем. Это делается с помощью функции seek, которая принимает те же три параметра, что и библиотечная программа ./yeeA^.?/ Первый параметр — это дескриптор файла, а второй параметр задает смещение, которое интерпретируется в совокупности с третьим параметром. Как правило, в качестве третього параметра ставится нуль, чтобы второй параметр задавал абсолютную позицию для следующего чтения из файла или записи в файл. Например, чтобы перейти к пятой записи в дескрипторе файла names (как описано выше), можно сделать так:

После перемещения указателя в файле на нужную позицию следующая операция ввода или вывода будет начинаться с этой позиции. Для вывода используйте функцию print, но не забудьте, что записываемые данные должны иметь строго определенную длину. Чтобы сформировать запись правильной длины, можно воспользоваться функцией pack::

В данном случае pack задает 40 символов для $first, один символ — для $middle, еще 40 символов — для $1ast и короткое целое (два байта) для $age. Определенная таким образом запись будет иметь в длину 83 байта и начинаться с текущей позиции в файле.

Наконец, нам нужно узнать, как выбрать конкретную запись. Конструкция возвращает все данные, начиная с текущей позиции і до следующего символа новой строки, однако в нашем случае предполагается, что данные занимают 83 байта и, вероятно, символ новой строки непосредственно в записи отсутствует. Поэтому вместо нее мы используем функцию read, которая по внешнему виду и принципу работы очень похожа на свою UNIX-коллегу:

Первый параметр функции read — дескриптор файла. Второй параметр — это скалярная переменная, в которую будут записаны прочитанные данные. Третий параметр задает количество байтов, которые нужно прочитать. Возвращает функция read количество фактически прочитанных байтов; как правило, оно равно затребованному количеству байтов, если только дескриптор файла открыт и если вы не находитесь слишком близко к концу файла.

Получив эти 83-символьные данные, разбейте их на компоненты с помощью функции unpack:

Как видно, строки, определяющие формат, в функциях pack и unpack — одинаковы. В большинстве программ эту строку заносят в переменную, указываемую в начале программы, и даже вычисляют с помощью функции pack длину записей, а не используют везде константу 83:

Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:

Читайте также: