src/thinkextend/transform/driver/Base64.php
public static function encode($data, $target = '')
    {
        // 当函数没有特别指定编码目标时, 使用类自身编码目标
        if (empty($target)) {
            $target = self::$target;
        }
        // 进行一次原始编码
        $data = base64_encode($data);
        // 根据编码目标替换字符
        switch ($target) {
            case 'url':
                $data = str_replace(['+', '/', '='], ['-', '_', ''], $data);
                break;
            case 'regex':
                $data = str_replace(['+', '/', '='], ['!', '-', ''], $data);
                break;
            case 'default':
            default:
                break;
        }
        // 返回编码结果
        return $data;
    }
public static function encode($data, $target = '')
    {
        // 当函数没有特别指定编码目标时, 使用类自身编码目标
        if (empty($target)) {
            $target = self::$target;
        }
        // 进行一次原始编码
        $data = base64_encode($data);
        // 根据编码目标替换字符
        switch ($target) {
            case 'url':
                $data = str_replace(['+', '/', '='], ['-', '_', ''], $data);
                break;
            case 'regex':
                $data = str_replace(['+', '/', '='], ['!', '-', ''], $data);
                break;
            case 'default':
            default:
                break;
        }
        // 返回编码结果
        return $data;
    }
Base64编码函数

@param string $data   欲编码的数据
@param string $target 编码目标