преобразование строки в массив байтов

juk

Новичок
преобразование строки в массив байтов

привет всем, возик вопрос по преобразованию сроки Wide Char'ов
в массив байтов - как-то не получается


на С/C++ это ваыглядит примерно так
void Str16ToBin( const Str16& In, Str8& Out )
{
//преобразование из WCHAR в char т.е. -
//отбрасываем по одному байту из каждого входного символа
Out.Copy( In );

//собсна само преобразование из ACSII в байты
for( int i = 0; i < Out.Length(); i++ )
Out = Out - '0';
}

а теперь нечто похожее на php

function ConvertToBinData( &$str )
{
echo "ConvertToBinData:<br>";

$len = strlen( $str );

echo "str = ". $str . " len=" . $len . "<br>";

for( $i = 0; $i < $len; $i++ )
{
//просто вывел каждый символ
printf( "str[ %d ] = %d<br>", $i, $str[ $i ] );
}

for( $i = 0; $i < $len; $i++ )
{
// а здесь уже преобразовал и вывел
$val = ord( $str[ $i ] ) - ord( '0' );
printf( "str[ %d ] = %d<br>", $i, $val );
}
}

тут в обоих циклах идет распечатка каждого символа,
и получается одно и то-же,
т.е.

$str[ $i ] == $val = ord( $str[ $i ] ) - ord( '0' );

как такое может быть???

и еще вопрос: могут-ли возникнуть какие-нить подводные
камни если строка передается в скрипт как
somescript.php?str=123423534534 ???
 
Сверху