ho annotato quanto segue nella console di Chrome:Javascript decodeURI (Component) malformati eccezione uri
decodeURIComponent('a%AFc');
Invece di risultante a0xAFc
, ha causato un'eccezione URIError (malformati uri).
Ho sentito diverse scuse perché questo può essere possibile, ma quello che non capisco è il motivo per cui ?
La funzione decodeURIComponent()
in particolare dovrebbe decodificare i dati, non verificare l'URI.
ho fatta dopo ho provato la decodifica un carico di testo codificato, fallito e ho notato che sarebbe soffocare su quel particolare personaggio. Forse "unescape" è ciò di cui ho bisogno. – Christian
@ChristianSciberras 'encodeURIComponent()' di solito è una scelta migliore perché funziona con UTF-8. Tuttavia, '0xAF' da solo non è una sequenza di caratteri con codifica UTF-8 valida. Questo è il motivo per cui il tuo codice non funziona. Spero sia più chiaro ora. – duri
Quindi, se devo gestire gli input ASCII/iso-8859-1 per cento codificati? 'unescape' è deprecato e non esiste anche' unescapeURI' – felixfbecker