java - बेस 64 एन्कोडर और डिकोडर



android base64 encoder decoder (6)

यह एक सरल स्ट्रिंग मान को एन्कोड और डीकोड करने के लिए Base64 क्लास का उपयोग करने का एक उदाहरण है।

// String to be encoded with Base64
String text = "Test";
// Sending side
byte[] data = null;
try {
    data = text.getBytes("UTF-8");
} catch (UnsupportedEncodingException e1) {
    e1.printStackTrace();
}
String base64 = Base64.encodeToString(data, Base64.DEFAULT);

// Receiving side
byte[] data1 = Base64.decode(base64, Base64.DEFAULT);
String text1 = null;
try {
    text1 = new String(data1, "UTF-8");
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}

यह अंश एक एंड्रॉइड गतिविधि में शामिल किया जा सकता है।

एंड्रॉइड में स्ट्रिंग के लिए बेस -64 डिकोडर और एन्कोडर है?


एन्कोड करने के लिए:

private String encodeString(String s) {
    byte[] data = new byte[0];

    try {
        data = s.getBytes("UTF-8");

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } finally {
        String base64Encoded = Base64.encodeToString(data, Base64.DEFAULT);

        return base64Encoded;

    }
}

डीकोड करने के लिए:

private String decodeString(String encoded) {
    byte[] dataDec = Base64.decode(encoded, Base64.DEFAULT);
    String decodedString = "";
    try {

        decodedString = new String(dataDec, "UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();

    } finally {

        return decodedString;
    }
}

उदाहरण

    String text = "example007";

    Log.e("encoded", encodeString(text)); //Output: ZXhhbXBsZTAwNw==
    Log.e("decoded", decodeString(encodeString(text))); //Output: example007

यदि आप स्ट्रिंग के अंत में लाइन ब्रेक नहीं चाहते हैं, तो Base64.DEFAULT से Base64.NO_WRAP Base64.DEFAULT को Base64.NO_WRAP

Base64.encodeToString("yourString".getBytes("UTF-8"), Base64.NO_WRAP);

यहां एक सरल विधि है जिसका उपयोग मैं तब तक करने जा रहा था जब तक मुझे एहसास हुआ कि यह केवल एंड्रॉइड एपीआई 8+ में समर्थित है:

// Has line break
public String getBase64(final String input) {
    return Base64.encodeToString(input.getBytes(), Base64.DEFAULT);
}

// No line break
public String getBase64(final String input) {
    return Base64.encodeToString(input.getBytes(), Base64.NO_WRAP);
}

android.util.Base64 देखें

ऐसा लगता है कि यह एपीआई संस्करण 8 या एंड्रॉइड 2.2 में जोड़ा गया था, इसलिए यह पुराने प्लेटफॉर्म पर उपलब्ध नहीं होगा।

लेकिन इसका स्रोत android/util/Base64.java इसलिए यदि आवश्यक हो तो पुराने संस्करणों के लिए इसे अपरिवर्तित कर सकते हैं।


कृपया ध्यान दें कि यह कच्चे यूनिकोड तारों के लिए उपयुक्त नहीं है! here यूनिकोड अनुभाग देखें।

एन्कोडिंग के लिए सिंटेक्स

var encodedData = window.btoa(stringToEncode);

डिकोडिंग के लिए सिंटेक्स

var decodedData = window.atob(encodedData);





java android base64 encoder decoder