Initial commit.
This commit is contained in:
commit
a3645937ca
23 changed files with 1199 additions and 0 deletions
40
README.md
Normal file
40
README.md
Normal file
|
@ -0,0 +1,40 @@
|
|||
[](https://opensource.org/licenses/Apache-2.0)
|
||||
[](https://oss.sonatype.org/content/repositories/snapshots/net/thauvin/erik/urlencoder/)
|
||||
|
||||
[//]: # ([](https://github.com/ethauvin/urlencoder/releases/latest))
|
||||
[//]: # ([](https://maven-badges.herokuapp.com/maven-central/net.thauvin.erik/urlencoder))
|
||||
[](https://sonarcloud.io/dashboard?id=ethauvin_urlencoder)
|
||||
[](https://github.com/ethauvin/urlencoder/actions/workflows/gradle.yml)
|
||||
|
||||
# URL Encoder for Kotlin and Java
|
||||
|
||||
A simple library to encode/decode URL parameters.
|
||||
|
||||
For decades we've been using [java.net.URLEncoder](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/URLEncoder.html) because of its improper naming. It is actually intended to encode HTML form parameters, not URLs.
|
||||
|
||||
Android's [Uri.encode](https://developer.android.com/reference/android/net/Uri#encode(java.lang.String,%20java.lang.String)) also addresses this issue.
|
||||
## Examples (TL;DR)
|
||||
|
||||
```kotlin
|
||||
UrlEncoder.encode("%#okékÉȢ smile!😁") // -> %25%23ok%C3%A9k%C3%89%C8%A2%20smile%21%F0%9F%98%81
|
||||
UrlEncoder.encode("?test=a test", '=', '?') // -> ?test=a%20test
|
||||
|
||||
UrlEncoder.decode("%25%23ok%C3%A9k%C3%89%C8%A2%20smile%21%F0%9F%98%81") // -> %#okékÉȢ smile!😁
|
||||
```
|
||||
|
||||
## Gradle, Maven, etc.
|
||||
To use with [Gradle](https://gradle.org/), include the following dependency in your build file:
|
||||
|
||||
```gradle
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven { url = uri("https://oss.sonatype.org/content/repositories/snapshots") }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation("net.thauvin.erik:urlencoder:0.9-SNAPSHOT")
|
||||
}
|
||||
```
|
||||
|
||||
Instructions for using with Maven, Ivy, etc. can be found on Maven Central.
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue