All Products
Search
Document Center

Simple Message Queue (formerly MNS):Panduan pengkodean isi pesan

Last Updated:Jun 04, 2026

Klien Simple Message Queue (formerly MNS) menyediakan opsi bawaan untuk pengkodean Base64. Topik ini menjelaskan skenario di mana Anda perlu menggunakan pengkodean Base64 saat memproduksi dan mengonsumsi pesan.

Latar Belakang

Base64 mengonversi data biner menjadi string ASCII sehingga dapat ditransfer dengan aman melalui lingkungan berbasis teks.

Keunggulan pengkodean Base64

  • Kompatibilitas: String yang dikodekan Base64 hanya menggunakan karakter ASCII yang dapat dicetak, sehingga aman digunakan dalam format berbasis teks seperti email, JSON, dan XML tanpa risiko kerusakan data.

  • Keamanan: Base64 bukan enkripsi, tetapi mencegah data biner langsung terbaca dalam beberapa format teks biasa, sehingga menambah lapisan keamanan.

  • Kesederhanaan: Sebagian besar bahasa pemrograman dan pustaka menyediakan dukungan Base64 bawaan.

Kekurangan pengkodean Base64

  • Pembengkakan data: Pengkodean Base64 meningkatkan ukuran data sekitar 33%.

  • Penurunan efisiensi: Proses pengkodean dan dekode memerlukan sumber daya komputasi tambahan. Overhead kinerja ini bisa signifikan, terutama saat memproses data dalam jumlah besar.

  • Keterbacaan rendah: Isi pesan yang telah dikodekan tidak dapat dibaca oleh manusia.

Kapan menggunakan pengkodean Base64

Model perpesanan berbasis Antrian

Lewati pengkodean Base64 jika isi pesan tidak mengandung karakter khusus.

  • Untuk mengirim pesan, panggil metode message.setMessageBodyAsRawString.

  • Untuk menerima pesan, panggil metode message.getMessageBodyAsRawString.

Model berbasis Topik (langganan antrian/HTTP)

Dalam model berbasis topik, properti NotifyContentFormat pada langganan menentukan format pesan dorong: SIMPLIFIED, JSON, atau XML, sebagaimana dijelaskan dalam Subscription formats.

  • Format SIMPLIFIED: Lewati pengkodean Base64 jika isi pesan tidak mengandung karakter khusus.

    • Untuk mengirim pesan, inisialisasi objek pesan dengan RawTopicMessage.

    • Untuk mengonsumsi pesan, panggil message.getMessageBodyAsRawString().

  • Format JSON atau XML: Anda harus menggunakan pengkodean Base64 karena string yang dikodekan Base64 cocok untuk transfer dalam format teks seperti JSON dan XML.

    • Untuk mengirim pesan, inisialisasi objek pesan dengan TopicMessage. Isi pesan secara otomatis dikodekan Base64 dan ditempatkan di bidang Message.

    • Untuk mengonsumsi pesan, panggil message.getMessageBodyAsRawString(); untuk mendapatkan nilai bidang Message, lalu dekode Base64-nya.

      JSONObject object = new JSONObject(message.getMessageBodyAsRawString());
      String jsonMessageData = String.valueOf(object.get("Message"));
      String messageBody = new String(Base64.decodeBase64(jsonMessageData));

Model berbasis Topik (langganan email)

Lewati pengkodean Base64 jika isi pesan tidak mengandung karakter khusus.

  • Untuk mengirim pesan, panggil metode message.setMessageBodyAsRawString.

  • Untuk menerima pesan, panggil metode message.getMessageBodyAsRawString.

Model berbasis Topik (langganan pesan teks)

Lewati pengkodean Base64 jika isi pesan tidak mengandung karakter khusus.

  • Untuk mengirim pesan, panggil metode message.setMessageBodyAsRawString.

  • Untuk menerima pesan, panggil metode message.getMessageBodyAsRawString.

Model berbasis Topik (langganan Mobile Push)

Lewati pengkodean Base64 jika isi pesan tidak mengandung karakter khusus.

  • Untuk mengirim pesan, panggil metode message.setMessageBodyAsRawString.

  • Untuk menerima pesan, panggil metode message.getMessageBodyAsRawString.