setlocale("LC_CTYPE","ru_SU.KOI*-R");// Здесь вызов устанавливает таблицу замены// регистра букв в соответствии с кодировкой KOI8-R.
convert_cyr_string
Преобразует строку из одной кодировки кириллицы в другую.
Синтаксис :
string convert_cyr_string(string str, string from, string to);
Функцияпереводитстрокуstrизкодировкиfromвкодировкуto. Конечно, это имеет смысл только для строк, содержащих "русские" буквы, т.к. латиница во всех кодировках выглядит одинаково. Разумеется, кодировка from должна совпадать с истинной кодировкой строки, иначе результат получится неверным. Значения from и to - одиночный символ, определяющий кодировку:
· k - koi8-r
· w - windows-1251
· i - iso8859-5
· a - x-cp866
· d - x-cp866
· m - x-mac-cyrillic
Функция работает достаточно быстро, так что ее вполне можно применять для перекодировки писем в нужную форму перед их отправкой по электронной почте.
bin2hex
Производит преобразование символьных данных в шестнадцатеричный вид.
Синтаксис :
string bin2hex(string str)
Функция bin2hex() возвращает стороковое шестнадцатеричное представление символьно-байтовых данных, содержащихся в строке str. Конвертация производиться побайтово, старший полубайт указывается первым.
parse_url
Обрабатывает URL и возвращает его компоненты.
Синтаксис :
array parse_url(string url);
Эта функция возвращает ассоциативный массив, включающий множество различных существующих компонентов URL. Онивключают "scheme", "host", "port", "user", "pass", "path", "query" и "fragment".
parse_str
Заносит строки URL в переменные.
Синтаксис :
void parse_str(string str [, array arr]);
Функция parse_str() интерпретирует строку str, как если бы эта строка содержала в себе переменные и их значения и передавалась бы в URL. Наша функция устанавливает для этих переменных значения.
Если задан второй необязательный параметр, то значения, найденные при помощи функции parse_str(), сохраняться не в глобальных переменных, а в элементах указанного массива.
rawurlencode
Кодирование URL.
Синтаксис :
string RawUrlEncode(string str);
Функция RawUrlEncode() возвращает строку, в которой все не алфавитно-цифровые символы (за исключением дефиса "-", знака подчеркивания "_" и точки ".") заменены последовательностями: знак процента (%), за которым следуют две шестнадцатеричные цифры, которые обозначают код символа. Это кодирование нужно для того, чтобы буквенные символы не обрабатывались в качестве разделителей строки URL и не искажались при передаче в сетях.
rawurldecode
Производит декодирование URL.
Синтаксис :
string rawurldecode(string str);
Эта функция возвращает строку, в которой последовательности с знаком процента (%) и следующими за ним двумя шестнадцатеричных цисла преобразует в симолы, соответствующими этому коду. Аналогична urldecode(), но не воспринимает + как пробел.
base64_encode
Кодирует данные в кодировке MIME base64.
Синтаксис :
string base64_encode(string data);
base64_encode() возвращает data закодированные в кодировке base64. Эта кодировка разработана для того, чтобы передовать двоичные данные через транспортные слои, которые не содержат восьмой бит, такие как почтовые тела. Данные в кодировке Base64 занимают примерно на 33% больше места, чем оригинал.
base64_decode
Декодирует данные, закодированные в кодировке MIME base64.
Синтаксис :
string base64_decode(string encoded_data);
base64_decode() декодирует encoded_data и возвращает оригинал данных. Возвращаемые данные могут быть двоичными.
number_format
Форматирование числа.
Синтаксис :
number_format($number, $decimals, $dec_point=".", $thousands_sep=",");
Эта функция форматирует число с плавающей точкой с разделением его на триады с указанной точностью. Она может быть вызвана с двумя или четырьмя аргументами, но не с тремя! Параметр $decimals задает, сколько цифр после запятой должно быть у числа в выходной строке. Параметр $dec_point представляет собой разделитель целой и дробной частей, а параметр $thousands_sep - разделитель триад в числе (если указать на его месте пустую строку, то триады не отделяются друг от друга).
pack
Пакетирование данных в двоичную строку.
Синтаксис :
string pack(string format [,mixed $args, ...]);
Функция pack() упаковывает заданные аргументы в бинарную строку, которая затем и возвращается. Формат параметров, а также их количество, задается при помощи строки $format, которая представляет собой набор однобуквенных спецификаторов форматирования - наподобие тех, которые указываются в sprintf(), но только без знака %. После каждого спецификатора может стоять число, которое отмечает, сколько информации будет обработано данным спецификатором. А именно, для форматов a,A,h и H число задает, какое количество символов будет помещено в бинарную строку из тех, что находится в очередном параметре-строке при вызове функции (то есть, определяет размер поля для вывода строки). В случае @ оно определяет абсолютную позицию, в которую будут помещены следующие данные. Для всех остальных спецификаторов следующие за ними числа задают количество аргументов, на которые распространяется действие данного формата. Вместо числа можно указать *, в этом случае подразумевается, что спецификатор действует на все оставшиеся данные.
Вот полный список спецификаторов формата:
· a - строка, свободные места в поле заполняются символом с кодом 0;
· A - строка, свободные места заполняются пробелами;
· h - шестнадцатиричная строка, младшие разряды в начале;
· H - шестнадцатиричная строка, старшие разряды в начале;
· c - знаковый байт (символ);
· C - беззнаковый байт;
· s - знаковое короткое целое (16 битовб порядок байтов определяется архитектурой процессора);
· S - беззнаковое короткое число;
· n - беззнаковое целое (16 битов, старшие разряды в конце);
· v - беззнаковое целое (16 битов, младшие разряды в конце);
· i - знаковое целое (размер и порядок байтов определяется архитектурой);
· I - беззнаковое целое;
· l - знаковое длинное целое (32 бита, порядок знаков определяется архитектурой);
· L - беззнаковое длинное целое;
· N - беззнаковое длинное целое (32 бита, старшие разряды в конце);
· V - беззнаковое целое (32 бита, младшие разряды в конце);
· f - число с плавающей точкой (зависит от архитектуры);
· d - число с плавающей точкой двойной точности (зависит от архитектуры);
· x - символ с нулевым кодом;
· X - возврат назад на 1 байт;
· @ - заполнение нулевым кодом до заданной абсолютной позиции.
// Целое, целое, все остальное - сиволы$bindata = pack("nvc*", 0x1234, 0x5678, 65, 66);После выполнения приведенного кода в строке $bindata будет содержаться 6 байтов в такой последовательности:
0x12, 0x34, 0x78, 0x56, 0x41, 0x42 (в шестнадцатиричной системе счисления).
unpack
Распаковывает данные из двоичной строки.
Синтаксис :
array unpack(string format, string data);
Распаковывает данные из двоичной строки в массив согласно формату. Возвращает массив, содержащий распакованные элементы.
Возникающий в результате массив будет содержать "chars1", "chars2" и "int".
strlen
Возвращает длину строки.
Синтаксис :
int strlen(string str)
Возвращает просто длину строки, т.е., сколько символов содержится в str.
Строка может содержать любые символы, в том числе и с нулевым кодом. Функция strlen() будет правильно работать и с такими строками.
count_chars
Возвращает информацию о символах строки.
Синтаксис :
mixed count_chars(string str [, int mode])
Функция count_chars() подсчитывает частоту встречаемости каждого байта (0-255) в строке str и возвращает в массиве результат согласно необязательному аргументу mode. mode может принимать следующие значения:
· 0 (по умолчанию)- массив с байтами в качестве индексов и частотой повторения в качестве значений элемента массива
· 1 - похож на 0, но отсутствующие в строке str байты не возвращаются
· 2 - похож на 0, но возвращаются только те байты, которые отсутствуют
· 3 - возвращается строка, состоящая из всех обнаруженных символов
· 4 - возвращается строка, состоящая из всех отсутствующих символов
md5
Получение строки-хеша MD5.
Синтаксис :
string md5(string str);
Возвращает хеш-код строки str, основанный на алгоритме корпорации RSA Data Security под названием "MD5 Message-Digest Algorithm". Хеш-код - это просто строка, практически уникальная для каждой из строк str. То есть вероятность того, что две разные строки, переданные в str, дадут нам одинаковый хеш-код, стремиться к нулю.
В то же время, если длина строки str может достигать нескольких тысяч символов, то ее MD5-код занимает максимум 32 символа.
crc32
Получение полиминала строки crc32.
Синтаксис :
int crc32(string str);
Функция crc32() вычисляет 32-битную контрольную сумму строки str. То есть, результат ее работы - 32-битное (4-байтовое) целое число.
Обычно эту функцию используют для проверки целостности переданных данных.
Эта функция работает гораздо быстрее md5(), но в то же время выдает гораздо менее надежные "хеш-коды" для строки. Так что, теперь, чтобы получить методом случайного подбора для двух разных строк одинаковые "хеш-коды", вам потребуется не триллион лет работы самого мощного компьютера, а всег лишь год-другой.