You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# decode-uri-component
[](https://travis-ci.org/SamVerschueren/decode-uri-component) [](https://coveralls.io/github/SamVerschueren/decode-uri-component?branch=master)
> A better [decodeURIComponent](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent)
## Why?
- Decodes `+` to a space. - Converts the [BOM](https://en.wikipedia.org/wiki/Byte_order_mark) to a [replacement character](https://en.wikipedia.org/wiki/Specials_(Unicode_block)#Replacement_character) `�`. - Does not throw with invalid encoded input. - Decodes as much of the string as possible.
## Install
``` $ npm install --save decode-uri-component ```
## Usage
```js const decodeUriComponent = require('decode-uri-component');
decodeUriComponent('%25'); //=> '%'
decodeUriComponent('%'); //=> '%'
decodeUriComponent('st%C3%A5le'); //=> 'ståle'
decodeUriComponent('%st%C3%A5le%'); //=> '%ståle%'
decodeUriComponent('%%7Bst%C3%A5le%7D%'); //=> '%{ståle}%'
decodeUriComponent('%7B%ab%%7C%de%%7D'); //=> '{%ab%|%de%}'
decodeUriComponent('%FE%FF'); //=> '\uFFFD\uFFFD'
decodeUriComponent('%C2'); //=> '\uFFFD'
decodeUriComponent('%C2%B5'); //=> 'µ' ```
## API
### decodeUriComponent(encodedURI)
#### encodedURI
Type: `string`
An encoded component of a Uniform Resource Identifier.
## License
MIT © [Sam Verschueren](https://github.com/SamVerschueren)
|