Todos os produtos
Search
Central de documentação

Simple Message Queue (formerly MNS):Guia de codificação do corpo da mensagem

Última atualização: Jun 27, 2026

O cliente do Simple Message Queue (anteriormente MNS) oferece opções integradas de codificação Base64. Este tópico descreve os cenários em que você deve usar a codificação Base64 na produção e no consumo de mensagens.

Contexto

O Base64 converte dados binários em strings ASCII para garantir transferência segura em ambientes baseados em texto.

Vantagens da codificação Base64

  • Compatibilidade: Strings codificadas em Base64 usam apenas caracteres ASCII imprimíveis, o que as torna seguras para formatos baseados em texto, como e-mail, JSON e XML, sem risco de saída corrompida.

  • Segurança: O Base64 não é um método de criptografia, mas impede a leitura direta de dados binários em alguns formatos de texto simples, adicionando uma camada de proteção.

  • Simplicidade: A maioria das linguagens de programação e bibliotecas oferece suporte nativo ao Base64.

Desvantagens da codificação Base64

  • Aumento de dados: A codificação Base64 aumenta o tamanho dos dados em aproximadamente 33%.

  • Redução de eficiência: Codificar e decodificar exigem recursos computacionais adicionais. Essa sobrecarga de desempenho pode ser significativa, principalmente ao processar grandes volumes de dados.

  • Baixa legibilidade: Corpos de mensagem codificados não são legíveis por humanos.

Quando usar a codificação Base64

Modelo de mensagens baseado em fila

Ignore a codificação Base64 se o corpo da mensagem não contiver caracteres especiais.

  • Para enviar uma mensagem, chame o método message.setMessageBodyAsRawString.

  • Para receber uma mensagem, chame o método message.getMessageBodyAsRawString.

Modelo baseado em tópico (assinatura de fila/HTTP)

No modelo baseado em tópico, a propriedade NotifyContentFormat da assinatura determina o formato da mensagem enviada: SIMPLIFIED, JSON ou XML, conforme descrito em Formatos de assinatura.

  • Formato SIMPLIFIED: Ignore a codificação Base64 se o corpo da mensagem não contiver caracteres especiais.

    • Para enviar uma mensagem, inicialize o objeto de mensagem com RawTopicMessage.

    • Para consumir uma mensagem, chame message.getMessageBodyAsRawString().

  • Formato JSON ou XML: Use a codificação Base64, pois strings codificadas nesse padrão são adequadas para transferência em formatos de texto como JSON e XML.

    • Para enviar uma mensagem, inicialize o objeto de mensagem com TopicMessage. O sistema codifica o corpo automaticamente em Base64 e o insere no campo Message.

    • Para consumir uma mensagem, chame message.getMessageBodyAsRawString(); para obter o valor do campo Message e decodifique-o em Base64.

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

Modelo baseado em tópico (assinatura de e-mail)

Ignore a codificação Base64 se o corpo da mensagem não contiver caracteres especiais.

  • Para enviar uma mensagem, chame o método message.setMessageBodyAsRawString.

  • Para receber uma mensagem, chame o método message.getMessageBodyAsRawString.

Modelo baseado em tópico (assinatura de mensagem de texto)

Ignore a codificação Base64 se o corpo da mensagem não contiver caracteres especiais.

  • Para enviar uma mensagem, chame o método message.setMessageBodyAsRawString.

  • Para receber uma mensagem, chame o método message.getMessageBodyAsRawString.

Modelo baseado em tópico (assinatura de Mobile Push)

Ignore a codificação Base64 se o corpo da mensagem não contiver caracteres especiais.

  • Para enviar uma mensagem, chame o método message.setMessageBodyAsRawString.

  • Para receber uma mensagem, chame o método message.getMessageBodyAsRawString.