android.util.Base64 encode/décode paramètre flags

Selon la Javadoc, android.util.Base64.decode() prend deux paramètres: le texte, et "drapeaux". Ces drapeaux sont en int et (je cite):

flags controls certain features of the decoded output. Pass DEFAULT to decode standard Base64.

Tout d'abord, merci à la personne qui a décidé d'écrire une vague de Javadoc. Je vois que Base64 a quelques énumération des chaînes, et dans la pratique, nous avons été à l'aide de Base64.NO_WRAP que notre drapeau. Dans ce cas particulier, cependant, nous avons besoin d'employer deux indicateurs: NO_WRAP, et URL_SAFE.

Comment spécifier à la fois les drapeaux? Nous avons essayé de les séparer avec un tuyau ('|'), et qui ne l'a pas fait.

import android.util.Base64;
public class Foo {
    public static void main(String[] args) {
        String urlSafeBase64EncodedString = getUrlSafeBase64EncodedString();
        int flags = ????????; //Need both Base64.NO_WRAP and Base64.URL_SAFE
        String decodedString = Base64.decode(urlSafeBase64EncodedString, flags);
    }
}

Merci pour votre temps.

"qui n'a pas faire" - alors, que fait-il? (Et ce que exactement avez-vous écrire?) Si vous allez à se plaindre des autres vagues, il aide à être plus précis vous-même 🙂
Il n'a rien fait. Il a échoué à décoder la chaîne Base64. Je l'ai déjà dit, j'ai séparé les deux drapeaux avec un symbole de canal...comment est-ce pas clair exactement?
Il est tout à fait possible que vous aviez était de la syntaxe de mal, comme "Base64.NO_WRAP | URL_SAFE" par exemple. Qui aurait donné une erreur de compilation, bien sûr... ce qui aurait été couverte par les "qui ne l'a pas fait". Maintenant, "Il n'a rien fait" et "Il a échoué à décoder la chaîne Base64" ne sont pas exactement la même chose. Comment est-ce que ça ne parviennent pas à le décoder? Il y avait une exception, il n'donner des résultats vides, il l'a fait pendre?
Séparé avec une pipe comme int flags = Base64.NO_WRAP | Base64.URL_SAFE; ? Et je pense que @jonskeet me demandais si decode() a lancé une exception, le retour de la chaîne inchangé, fait une de la des drapeaux, mais pas l'autre, etc.
Je viens de vérifier le code github.com/android/platform_frameworks_base/blob/master/core/... C'est exactement ce que vous attendez qu'il fasse. Si elle ne répond pas à vos attentes, ce n'est pas parce que l'ambiguïté ou mal documentés dans de toute façon. Décrire plus la sortie que vous recherchez et nous pouvons peut-être vous aider. Mais l'habitude NO_WRAP | URL_SAFE fonctionne comme prévu.

OriginalL'auteur Cody S | 2012-02-24