2017-01-04 5 views
1

こんにちは私は、Javaコードを持ってJavaコードは

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番目のパラメータはビットごとのフラグです。

値が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')));