2017-01-04 8 views
1

Привет У меня есть код Java:Java код PHP (base64, байт)

Base64.encodeToString(("users name").getBytes(), 2); 

Я стараюсь, чтобы преобразовать его в PHP:

bytesEnc("users name"); 

function bytesEnc($string) { 
    $bytes = array(); 
    for($i = 0; $i < strlen($string); $i++){ 
     $bytes[] = ord($string[$i]); 
    } 
    return $bytes; 
} 

я сделал "GetBytes()", но я Не знаю, что делать дальше. Я знаю функцию base64_encode, но номер 2 беспокоит меня. Пожалуйста, помогите.

ответ

0

В соответствии с docs вторым параметром является поразрядный флаг.

Если значение равно 2, то флаг NO_WRAP используется:

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

Это означает, что он удаляет новые линии.

function bytesEnc($string){ 
    $string = str_replace(PHP_EOL, '', $string); 

    $bytes = array(); 
    for($i = 0; $i < strlen($string) - 1; $i++){ 
    $bytes[] = ord($string[$i]); 
    } 
    return $bytes; 
} 

echo base64_encode(implode('',bytesEnc('users name'))); 
Смежные вопросы