Android 64Base Get Encoder’ı API 21’de Çalıştırma
Giriş
Base64, ikili verileri ASCII karakterlerine dönüştürmek için kullanılan bir kodlama şemasıdır. Android’de, Base64 kodlaması ve kod çözme işlemleri android.util.Base64
sınıfı kullanılarak gerçekleştirilebilir. Ancak, bu sınıf API 26’dan önceki sürümlerde getEncoder()
ve getDecoder()
yöntemlerini içermez. Bu nedenle, API 21 gibi daha eski sürümlerde Base64 kodlaması ve kod çözme işlemlerini gerçekleştirmek için alternatif yöntemler kullanılmalıdır.
Alternatif Yöntemler
API 21’de Base64 kodlaması ve kod çözme işlemlerini gerçekleştirmek için aşağıdaki alternatif yöntemler kullanılabilir:
- Apache Commons Codec Kütüphanesi: Apache Commons Codec kütüphanesi, Base64 kodlaması ve kod çözme işlemleri için yardımcı programlar sağlar. Bu kütüphane Maven veya Gradle kullanılarak projeye eklenebilir.
- Guava Kütüphanesi: Guava kütüphanesi, Base64 kodlaması ve kod çözme işlemleri için yardımcı programlar içerir. Bu kütüphane Maven veya Gradle kullanılarak projeye eklenebilir.
- Manuel Kodlama ve Kod Çözme: Base64 kodlaması ve kod çözme işlemleri manuel olarak da gerçekleştirilebilir. Ancak, bu yaklaşım zaman alıcı ve hata eğilimlidir.
Apache Commons Codec Kütüphanesini Kullanma
Apache Commons Codec kütüphanesini kullanarak Base64 kodlaması ve kod çözme işlemleri aşağıdaki şekilde gerçekleştirilebilir:
“`java
import org.apache.commons.codec.binary.Base64;
public class Base64Example {
public static void main(String[] args) {
// Kodlama
String originalString = "Merhaba Dünya";
byte[] encodedBytes = Base64.encodeBase64(originalString.getBytes());
String encodedString = new String(encodedBytes);
// Kod Çözme
byte[] decodedBytes = Base64.decodeBase64(encodedString.getBytes());
String decodedString = new String(decodedBytes);
System.out.println("Orijinal String: " + originalString);
System.out.println("Kodlanmış String: " + encodedString);
System.out.println("Kod Çözülmüş String: " + decodedString);
}
}
“`
Guava Kütüphanesini Kullanma
Guava kütüphanesini kullanarak Base64 kodlaması ve kod çözme işlemleri aşağıdaki şekilde gerçekleştirilebilir:
“`java
import com.google.common.io.BaseEncoding;
public class Base64Example {
public static void main(String[] args) {
// Kodlama
String originalString = "Merhaba Dünya";
byte[] encodedBytes = BaseEncoding.base64().encode(originalString.getBytes());
String encodedString = new String(encodedBytes);
// Kod Çözme
byte[] decodedBytes = BaseEncoding.base64().decode(encodedString.getBytes());
String decodedString = new String(decodedBytes);
System.out.println("Orijinal String: " + originalString);
System.out.println("Kodlanmış String: " + encodedString);
System.out.println("Kod Çözülmüş String: " + decodedString);
}
}
“`
Manuel Kodlama ve Kod Çözme
Manuel Base64 kodlaması ve kod çözme işlemleri aşağıdaki şekilde gerçekleştirilebilir:
Kodlama:
- Verileri bayt dizisine dönüştürün.
- Her baytı 6 bitlik bloklara bölün.
- Her 6 bitlik bloğu Base64 karakterine dönüştürün.
- Kodlanmış karakterleri bir dizede birleştirin.
Kod Çözme:
- Kodlanmış dizeyi bayt dizisine dönüştürün.
- Her baytı 6 bitlik bloklara bölün.
- Her 6 bitlik bloğu orijinal bayta dönüştürün.
- Orijinal baytları bir dizede birleştirin.
Faydalı Kaynaklar
Sonuç
API 21 gibi daha eski Android sürümlerinde Base64 kodlaması ve kod çözme işlemlerini gerçekleştirmek için android.util.Base64
sınıfının getEncoder()
ve getDecoder()
yöntemleri kullanılamaz. Bunun yerine, Apache Commons Codec kütüphanesi, Guava kütüphanesi veya manuel kodlama ve kod çözme gibi alternatif yöntemler kullanılabilir. Bu yöntemler, Base64 kodlaması ve kod çözme işlemlerini API 21’de etkili bir şekilde gerçekleştirmeyi sağlar.