将java方法base64.encodetostring()转换为php

r7s23pms  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(572)

你好我有下面的java代码:

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 存在于php中,但的第二个参数 encodetoString 值为2的java方法让我很烦恼。拜托,救命啊。

gudnpqoy

gudnpqoy1#

根据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')));

相关问题