将Java方法Base64.encodeToString()转换为PHP

时间:2017-01-04 05:42:15

标签: java php base64 byte

您好我有以下java代码:

bytesEnc("users name");

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

我试图将其转换为php:

getBytes()

我转换了base64_encode,但我不知道下一步该怎么做。我知道PHP中存在函数encodetoString但是值为2的website.com/show/?id=9999&n=page-name java方法的第二个参数困扰我。 请帮忙。

1 个答案:

答案 0 :(得分: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')));