## Filtros de conversión

Al igual que los filtros de string, los filtros de conversión hacen lo que su nombre indica. Para más información sobre un filtro dado, consulte la página del manual de la función correspondiente.

## convert.base64-encode y convert.base64-decode

El uso de este filtro es equivalente a tratar todos los datos del flujo a través de las funciones base64_encode() y base64_decode() respectivamente. `convert.base64-encode` soporta parámetros en forma de array asociativo. Si `line-length` es proporcionado, la salida base64 será separada en líneas de `line-length` caracteres. Si `line-break-chars` es proporcionado, cada bloque de caracteres será delimitado por el carácter proporcionado. Estos parámetros dan el mismo efecto que la función base64_encode() utilizada conjuntamente con chunk_split().

Ejemplo #1 convert.base64-encode & convert.base64-decode

    <?php
    $fp = fopen('php://output', 'w');
    stream_filter_append($fp, 'convert.base64-encode');
    fwrite($fp, "This is a test.\n");
    fclose($fp);
    /* muestra :  VGhpcyBpcyBhIHRlc3QuCg==  */

    $param = array('line-length' => 8, 'line-break-chars' => "\r\n");
    $fp = fopen('php://output', 'w');
    stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
    fwrite($fp, "This is a test.\n");
    fclose($fp);
    /* muestra :  VGhpcyBp
               :  cyBhIHRl
               :  c3QuCg==  */

    $fp = fopen('php://output', 'w');
    stream_filter_append($fp, 'convert.base64-decode');
    fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
    fclose($fp);
    /* muestra :  This is a test.  */
    ?>

## convert.quoted-printable-encode y convert.quoted-printable-decode

El uso de la versión decode de este filtro es equivalente a tratar todos los datos del flujo a través de la función quoted_printable_decode(). No hay equivalente funcional a `convert.quoted-printable-encode`. `convert.quoted-printable-encode` soporta parámetros en forma de array asociativo. Además de los parámetros soportados por `convert.base64-encode`, `convert.quoted-printable-encode` también acepta los argumentos bool `binary` y `force-encode-first`. `convert.base64-decode` soporta únicamente el parámetro `line-break-chars` como indicador de tipo para la extracción de la carga codificada.

Ejemplo #2 convert.quoted-printable-encode & convert.quoted-printable-decode

    <?php
    $fp = fopen('php://output', 'w');
    stream_filter_append($fp, 'convert.quoted-printable-encode');
    fwrite($fp, "This is a test.\n");
    /* muestra :  =This is a test.=0A  */
    ?>

## convert.iconv.*

Los filtros `convert.iconv.*` están disponibles, si el soporte de iconv está activado, y sus usos son equivalentes a tratar todos los datos del flujo con iconv(). Estos filtros no soportan parámetros, pero se espera que el nombre del filtro contenga la codificación de los datos de entrada y salida, es decir, `convert.iconv.<input-encoding>.<output-encoding>` o `convert.iconv.<input-encoding>/<output-encoding>` (ambas notaciones son semánticamente equivalentes).

Ejemplo #3 convert.iconv.*

    <?php
    $fp = fopen('php://output', 'w');
    stream_filter_append($fp, 'convert.iconv.utf-16le.utf-8');
    fwrite($fp, "T\0h\0i\0s\0 \0i\0s\0 \0a\0 \0t\0e\0s\0t\0.\0\n\0");
    fclose($fp);
    /* Muestra: This is a test. */
    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open