Новые книги

Новая книга Игоря Зорина написана для продавцов, менеджеров по продажам, руководителей торговых компаний, всех тех, кто в силу своих профессиональных прав и обязанностей напрямую контактирует с клиентами – покупателями. В книге подробно описаны и классифицированы наиболее часто встречающиеся типы трудных клиентов, а также просто и понятно изложены правила и приемы работы с ними. Книга одинаково доступна и полезна как начинающим продавцам, так и «бывалым» менеджерам.

Читая книгу, вы получите полный доступ к арсеналу с приемами и можете «вооружиться», взяв из предложенного только то, что посчитаете нужным и достаточным. То, что вы сможете понять и принять. То, что будет вам «по руке», во что вы сможете реально поверить. Вы получите проверенное временем и практикой оружие, которое поможет вам справиться не только с любым Его Величеством Трудным Клиентом, но и с самим собой.
Слово криптография означает тайнопись.

Российская криптография имеет многовековую историю, начинающуюся с указов Петра I о «черных кабинетах». До середины 80-х годов XX века криптография в России использовалась только для военных, дипломатических и правительственных линий связи и была строго засекречена. Даже употребление слов «криптография», «шифры», «ключи к шифрам» в открытых публикациях было недопустимо. Но в мире быстро назревала потребность в гражданской криптографии, стремительно развивались информационные технологии, стали появляться компьютерные сети, Интернет, денежные электронные расчеты. Для этого требовались надежные и общедоступные криптографические методы защиты информации.

Была ли Россия готова к появлению гражданской криптографии? И да, и нет.

Да, потому что еще с советских времен в России существовала прекрасная криптографическая школа и высококлассные специалисты-криптографы, которые долгое время на равных конкурировали с американским Агентством Национальной Безопасности и обеспечивали гарантированную защиту военных, дипломатических и правительственных линий связи.

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

В 1992 году случился кризис: поток фальшивых авизо захлестнул Центральный Банк России и грозил обрушить всю финансовую систему. Потребовалась срочная помощь криптографов: в кратчайшие сроки создать, наладить и запустить в эксплуатацию систему криптографической защиты телеграфных и почтовых авизо в такой огромной структуре, как ЦБ РФ.

Эта задача была выполнена за три месяца – неимоверно короткий срок.

В России появился первый реальный пример гражданской криптографии.

О том, что представляла из себя советская криптографическая школа, о ее специалистах и начальниках, о царившей тогда в стране атмосфере, о том, как была создана система защиты для Центрального Банка России, и, наконец, о том, почему же в России так трудно пробивает себе дорогу гражданская криптография – в этой книге.

sprintf

Учебник РНР
Назад Вперёд

sprintf

(PHP 3, PHP 4)

sprintf - возвращает отформатированную строку.

Описание

string sprintf (string format [, mixed args])

Возвращает строку, созданную в соответствии со строкой форматирования format.

Строка форматирования состоит из 0 или более директив: обычных символов (исключая %), которые копируются прямо в результат, и спецификаций конвертации, каждая из которых приводит к извлечению её собственного параметра. Это применяется к sprintf() и к printf().

Каждая спецификация конвертации состоит из знака процентов (%) с последующим одним или более из следующих элементов, в данном порядке:

  1. Необязательный padding-спецификатор, который сообщает, какой символ будет использоваться для заполнения результатов до размера строки. Это может быть символ space/пробел или 0 (символ нуль). По умолчанию заполняется пробелами. Альтернативный заполнитель может быть специфицирован с помощью префикса - одинарной кавычки ('). См. примеры далее.

  2. Необязательный alignment-спецификатор, который сообщает, должен ли результат выравниваться влево или вправо (left-justified или right-justified). По умолчанию right-justified; символ - здесь делает left-justified.

  3. Необязательное число, width-спецификатор, который сообщает, сколько символов (минимум) должна дать эта конвертация.

  4. Необязательный precision-спецификатор, который сообщает, сколько десятеричных цифр должно выводиться для чисел с плавающей точкой. Эта опция не оказывает действия на другие типы, кроме float. (Для форматирования чисел используется также функция number_format().)

  5. type-спецификатор, который сообщает, как какой тип должны рассматриваться данные аргумента. Возможные типы:

    % - литеральный символ процентов. Аргументы не требуются.
    b - аргумент рассматривается как integer и представлен как двоичное число.
    c - аргумент рассматривается как integer и представлен как символ с этим ASCII-значением.
    d - аргумент рассматривается как integer и представлен как (знаковое) десятеричное число.
    u - аргумент рассматривается как integer и представлен как беззнаковое десятеричное число.
    f - аргумент рассматривается как float и представлен как число с плавающей точкой.
    o - аргумент рассматривается как integer и представлен как восьмеричное число.
    s - аргумент рассматривается и представляется как строка/string.
    x - аргумент рассматривается как integer и представлен как шестнадцатеричное число (с буквами в нижнем регистре).
    X - аргумент рассматривается как integer и представлен как шестнадцатеричное число (с буквами в верхнем регистре).

Как и в PHP версии 4.0.6, строка форматирования поддерживает нумерацию/обмен аргументов (numbering/swapping). Вот пример:

Пример 1. Обмен/swapping аргументов
$format = "There are %d monkeys in the %s";
printf($format,$num,$location);

Это выведет "There are 5 monkeys in the tree". Но представьте, что мы создаём строку форматирования в отдельном файле, что является обычным, поскольку мы хоти интернационализировать её, и мы переписываем:

Пример 2. Обмен аргументов
$format = "The %s contains %d monkeys";
printf($format,$num,$location);

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

Пример 3. Обмен аргументов
$format = "The %2\$s contains %1\$d monkeys";
printf($format,$num,$location);

Теперь появилось преимущество: вы можете повторять заглушки без добавления аргументов в коде. Например:

Пример 4. Обмен аргументов
$format = "The %2\$s contains %1\$d monkeys.
           That's a nice %2\$s full of %1\$d monkeys.";
printf($format, $num, $location);

См. также printf(), sscanf(), fscanf() и number_format().

Примеры

Пример 5. sprintf(): целые числа с заполнением нулями
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
Пример 6. sprintf(): форматирование валюты
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money will output "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted выдаст "123.10"

Назад Оглавление Вперёд
soundex Вверхsscanf