LINUX.ORG.RU

История изменений

Исправление deep-purple, (текущая версия) :

tz4678

Мы же байтики заменяем

$s = 'рстуфхцчшщъыьэюя';
for ($i = 1; $i < strlen($s); $i += 2) {
    echo hexdec(bin2hex($s{$i})) . PHP_EOL;
}

Эти коды (второй байт UTF-8 русской локали) попадают в Extended ASCII. И это еще простой пример. В более чем двухбайтных символах можно напороться на одинаковые последовательности бит (и байт) и в итоге заменить не то и не на то. Думай.

И поубавь-ка пыл с матершинкой.

Исходная версия deep-purple, :

tz4678

Мы же байтики заменяем

$s = 'рстуфхцчшщъыьэюя';
for ($i = 1; $i < strlen($s); $i += 2) {
    echo hexdec(bin2hex($s{$i})) . PHP_EOL;
}

Эти коды (второй байт UTF-8 русской локали) попадают в Extended ASCII. И это еще простой пример. В более чем двухбайтных символах можно напороться на одинаковые последовательности бит (и байт) и в итоге заменить не то и не на то. Думай.

И поубавь-ка пыл с матершинкой.