# O que o plugin faz

Este plugin deve ser utilizado quando se deseja **Codificar e/ou Decodificar URI** completo.

Essa codificação é amplamente utilizada e, necessária, quando se transmite em uma url, frases que se utilizam de _espaço_, _símbolos_ e _caracteres da língua_, que precisam da garantia de que, ao chegar no destino, possam ser decodificadas e interpretadas conforme foram enviadas, sem perdas ou trocas de qualquer caractere. &#x20;

Um exemplo disto pode ser visto em url´s utilizadas em links que encaminham o usuário para o WhatsApp já com um texto pré-formatado visando padronizar e facilitar o primeiro contato de um cliente.

Um exemplo de uso para este caso seria codificar a frase que se deseja passar como parâmetro (parâmetro text) para que, ao chegar no destino, ela mantenha todas a pontuação e acentuação esperada. \
\
A frase "`Olá, gostaria de saber como chegar até vocês!`" ao ser codificada ficaria "`Ol%C3%A1,%20gostaria%20de%20saber%20como%20chegar%20at%C3%A9%20voc%C3%AAs!`"

Dessa forma, ela poderá ser transmitida através de um link com a certeza de que, ao chegar no destino, será decodificada e aparecerá da maneira que se espera. \
\
Em nosso exemplo, a url completa para o envio seria como essa: [https://api.whatsapp.com/send?phone=5588888888888\&text=Ol%C3%A1%2C%20gostaria%20de%20saber%20como%20chegar%20at%C3%A9%20voc%C3%AAs!](https://api.whatsapp.com/send?phone=5585989338888\&text=Ol%C3%A1%2C%20gostaria%20de%20saber%20como%20chegar%20at%C3%A9%20voc%C3%AAs!)

### Como este plugin trabalha

O plugin trás a função **encodeURI( )** para codificar a url, exceto os caracteres `(, / ? : @ & = + $ #)` e trás também,a função **encodeURIComponent( )** que codifica inclusive os caracteres `(, / ? : @ & = + $ #)`.

Para decodificar utiliza as funções **decodeURI( )** para textos codificados com encodeURI( ) e a função **decodeURIComponent( )**, para textos que foram codificados com a função encodeURIComponente( ) (quando se tem os caracteres especiais).&#x20;
