Convertidor gratuït

Codificador d'URL / Descodificador

Codifiqueu i descodifiqueu URL i components URI a l'instant al vostre navegador. Gratuït, privat i no cal pujar.

O

Sobre aquesta eina

La codificació d'URL (formalment codificació de percentatge, definida a RFC 3986) tradueix caràcters que tenen un significat especial als URL (espais, barres inclinades, signes i signes hash) en una forma segura mitjançant signes de percentatge seguits de dígits hexadecimals. El caràcter d'espai es converteix en %20 (o + en contextos codificats per formularis), el signe et es converteix en %26, i així successivament. Sense aquesta codificació, els caràcters especials s'interpretarien com a sintaxi d'URL en lloc de dades literals, trencant l'URL o provocant un comportament no desitjat.

Existeixen dues codificacions relacionades però diferents. La codificació estàndard del component d'URL utilitza %-escapades per a tot el que no inclou el conjunt de caràcters no reservats: A-Z, a-z, 0-9, guionet, guió baix, punt, tilde. La variant codificada per formulari (application/x-www-form-urlencoded) també tracta els espais com a signes més i utilitza regles diferents per a alguns altres caràcters. EncodeURIComponent de JavaScript utilitza la codificació estricta del component; encodeURI utilitza una forma més permissiva que conserva els caràcters de l'estructura de l'URL.

Aquesta eina ofereix tant codificació com descodificació. El mode de codificació embolcalla cada caràcter que requereix escapar en format %HH; El mode descodificació inverteix la transformació. Tots dos s'executen completament al vostre navegador mitjançant les funcions d'URL de JavaScript integrades, de manera que no s'envien dades enlloc.

Per què codificar o descodificar URL

Cada vegada que s'inclouen dades en un URL (paràmetres de cadena de consulta, segments de camí que contenen l'entrada de l'usuari, objectius de redirecció) cal una codificació adequada. Si no es codifiquen, es produeixen URL que es trenquen quan apareixen caràcters especials, es filtren els límits dels paràmetres per a les cadenes de consulta (convertint &x=1 en un paràmetre separat) o els servidors web els bloquegen com a sol·licituds amb format incorrecte.

La descodificació és la inversa: extreure les dades originals d'una URL codificada. Les barres d'adreces del navegador sovint mostren els URL en forma codificada; la descodificació revela què es volia realment. El registre, la depuració i l'anàlisi de seguretat es beneficien dels URL descodificats que mostren els paràmetres i camins originals.

Com utilitzar-la

Enganxeu una cadena, trieu la direcció.

  1. Trieu codificar o descodificar: La codificació embolcalla caràcters no segurs en format %HH. Descodificació inversa %HH escapa de nou a caràcters literals.
  2. Afegeix text d'entrada: Enganxeu la cadena per codificar o descodificar. Per a la codificació, aquest és normalment un valor literal amb espais, caràcters especials o contingut no ASCII. Per a la descodificació, aquest és un URL o un component d'URL que conté %HH escapes.
  3. Converteix: L'eina aplica encodeURIComponent o decodeURIComponent. La sortida codificada es pot incrustar amb seguretat en una URL; la sortida descodificada és el valor literal original.
  4. Copiar o descarregar: Utilitzeu el resultat allà on el necessiteu. Els valors codificats s'ajusten als URL; els valors descodificats revelen les dades originals.

Casos d'ús comuns

Detalls tècnics

encodeURIComponent codifica tots els caràcters fora del conjunt no reservat [A-Za-z0-9-_.~]. Els espais es converteixen en % 20, més els signes es converteixen en % 2B, els signes iguals es converteixen en % 3D, i així successivament. Els caràcters fora d'ASCII es codifiquen primer en UTF-8 i després cada byte s'escapa en %.

encodeURI és més permissiu i està pensat per a URL complets en lloc de components. No escapa /, ?, &, =, # i alguns altres perquè aquests caràcters tenen un significat de sintaxi d'URL. Per incrustar dades d'usuari en una URL, encodeURIComponent és gairebé sempre l'opció correcta.

decodeURIComponent inverteix %-escapes, validant que cada escapada està ben format i que els bytes resultants formen UTF-8 vàlid. L'entrada mal formada genera un error en lloc de produir escombraries.

Bones pràctiques

Preguntes freqüents

Quins caràcters necessiten codificació d'URL?
Els caràcters reservats (&, =, ?, #, /, :, @) i els caràcters no segurs (espais, <, >, {, }, |, ^, ~, [, ], `) s'han de codificar. Els caràcters alfanumèrics i -_.~ són segurs i no necessiten codificació.
Quina diferència hi ha entre encodeURI i encodeURIComponent?
encodeURI codifica un URL complet però conserva els caràcters reservats (://?#). encodeURIComponent codifica tot excepte -_.!~*'() — utilitzeu-lo per als valors dels paràmetres de consulta. Aquesta eina ofereix ambdues maneres.
Com es codifiquen els espais als URL?
Els espais es poden codificar com a %20 (codificació estàndard de percentatge) o + (codificació de formulari). %20 és correcte per als camins d'URL, mentre que + s'utilitza a les cadenes de consulta dels formularis HTML. Aquesta eina utilitza %20 per defecte.
Puc codificar caràcters Unicode?
Sí. Els caràcters Unicode es codifiquen primer en UTF-8 bytes, després cada byte es codifica en percentatge. Per exemple, '日' es converteix en %E6%97%A5 (tres bytes UTF-8, cadascun codificat per percentatge).
He d'utilitzar encodeURI o encodeURIComponent?
Gairebé sempre codifica URIComponent. Utilitzeu encodeURI només si teniu un URL complet i voleu preservar-ne l'estructura, normalment rar, ja que de totes maneres creeu URL a partir de components.
Les meves dades s'han penjat a un servidor?
No. La codificació i descodificació d'URL es fan completament al vostre navegador.
Gestiona els emoji Unicode?
Sí. Els emojis són seqüències UTF-8 de diversos bytes; el codificador produeix una cadena de % de bytes escapats que els descodificadors es tornen a muntar correctament a l'emoji original.
Què passa si la meva entrada té cadenes d'aspecte %HH que en realitat no estan codificades?
La codificació converteix cada % en %25, i després torna a aplicar l'escapada per a la resta. La descodificació d'una entrada estricta genera errors en fugides malformades; Les cadenes d'aspecte ambigu poden descodificar incorrectament.