## Filtres de conversion

Comme pour les filtres de chaîne de caractères, les filtres de conversion font ce que leur nom indique. Pour plus d'informations sur un filtre donné, se référer à la page du manuel de la fonction correspondante.

## convert.base64-encode et convert.base64-decode

L'utilisation de ce filtre est équivalente à traiter toutes les données du flux à travers les fonctions base64_encode() et base64_decode() respectivement. `convert.base64-encode` supporte les paramètres sous forme de tableau associatif. Si `line-length` est fourni, la sortie base64 sera séparée en lignes de `line-length` caractères. Si `line-break-chars` est fourni, chaque bloc de caractères sera délimité par le caractère fourni. Ces paramètres donnent le même effet que la fonction base64_encode() utilisée conjointement avec chunk_split().

Exemple #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);
    /* affiche :  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);
    /* affiche :  VGhpcyBp
               :  cyBhIHRl
               :  c3QuCg==  */

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

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

L'utilisation de la version decode de ce filtre est équivalente à traiter toutes les données du flux à travers la fonction quoted_printable_decode(). Il n'y a pas d'équivalent fonctionnel à `convert.quoted-printable-encode`. `convert.quoted-printable-encode` supporte les paramètres sous forme de tableau associatif. En plus des paramètres supportés par `convert.base64-encode`, `convert.quoted-printable-encode` accepte aussi les arguments booléen `binary` et `force-encode-first`. `convert.base64-decode` supporte uniquement le paramètre `line-break-chars` en tant qu'indicateur de type pour l'extraction de la charge codée.

Exemple #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");
    /* affiche :  =This is a test.=0A  */
    ?>

## convert.iconv.*

Les filtres `convert.iconv.*` sont disponibles, si le support de iconv est activé, et leurs usages sont équivalents à traiter toutes les données du flux avec iconv(). Ces filtres ne supportent pas de paramètres, mais s'attendent à la place à ce que le nom du filtre contienne l'encodage des données en saisie et de sortie, c.-à-d. `convert.iconv.<input-encoding>.<output-encoding>` ou `convert.iconv.<input-encoding>/<output-encoding>` (les deux notations sont sémantiquement équivalentes).

Exemple #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);
    /* Affiche : This is a test. */
    ?>

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