Stay organized with collections
Save and categorize content based on your preferences.
URLEncoder
open class URLEncoder
Utility class for HTML form encoding. This class contains static methods for converting a String to the application/x-www-form-urlencoded
MIME format. For more information about HTML form encoding, consult the HTML specification.
When encoding a String, the following rules apply:
- The alphanumeric characters "
a
" through "z
", "A
" through "Z
" and "0
" through "9
" remain the same.
- The special characters "
.
", "-
", "*
", and "_
" remain the same.
- The space character " " is converted into a plus sign "
+
".
- All other characters are unsafe and are first converted into one or more bytes using some encoding scheme. Then each byte is represented by the 3-character string "
%xy
", where xy is the two-digit hexadecimal representation of the byte. The recommended encoding scheme to use is UTF-8. However, for compatibility reasons, if an encoding is not specified, then the default encoding of the platform is used.
For example using UTF-8 as the encoding scheme the string "The string ü@foo-bar" would get converted to "The+string+%C3%BC%40foo-bar" because in UTF-8 the character ü is encoded as two bytes C3 (hex) and BC (hex), and the character @ is encoded as one byte 40 (hex).
Summary
Public methods |
open static String! |
Translates a string into x-www-form-urlencoded format.
|
open static String! |
Translates a string into application/x-www-form-urlencoded format using a specific encoding scheme.
|
open static String! |
Translates a string into application/x-www-form-urlencoded format using a specific Charset.
|
Public methods
encode
open static fun encode(s: String!): String!
Deprecated: The resulting string may vary depending on the platform's default encoding. Instead, use the encode(String,String) method to specify the encoding.
Translates a string into x-www-form-urlencoded
format. This method uses the platform's default encoding as the encoding scheme to obtain the bytes for unsafe characters.
Parameters |
s |
String!: String to be translated. |
Return |
String! |
the translated String . |
encode
open static fun encode(
s: String!,
enc: String!
): String!
Translates a string into application/x-www-form-urlencoded
format using a specific encoding scheme.
This method behaves the same as encode(String s, Charset charset) except that it will look up the charset using the given encoding name.
Return |
String! |
the translated String . |
Exceptions |
java.io.UnsupportedEncodingException |
If the named encoding is not supported |
encode
open static fun encode(
s: String!,
charset: Charset!
): String!
Translates a string into application/x-www-form-urlencoded
format using a specific Charset. This method uses the supplied charset to obtain the bytes for unsafe characters.
Note: The World Wide Web Consortium Recommendation states that UTF-8 should be used. Not doing so may introduce incompatibilities.
Parameters |
s |
String!: String to be translated. |
charset |
Charset!: the given charset |
Return |
String! |
the translated String . |
Exceptions |
java.lang.NullPointerException |
if s or charset is null . |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# URLEncoder\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nURLEncoder\n==========\n\n```\nopen class URLEncoder\n```\n\n|---|--------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) ||\n| ↳ | [java.net.URLEncoder](#) |\n\nUtility class for HTML form encoding. This class contains static methods for converting a String to the `application/x-www-form-urlencoded` MIME format. For more information about HTML form encoding, consult the HTML [specification](http://www.w3.org/TR/html4/).\n\nWhen encoding a String, the following rules apply:\n\n- The alphanumeric characters \"`a`\" through \"`z`\", \"`A`\" through \"`Z`\" and \"`0`\" through \"`9`\" remain the same.\n- The special characters \"`.`\", \"`-`\", \"`*`\", and \"`_`\" remain the same.\n- The space character \" \" is converted into a plus sign \"`+`\".\n- All other characters are unsafe and are first converted into one or more bytes using some encoding scheme. Then each byte is represented by the 3-character string \"*`%xy`* \", where *xy* is the two-digit hexadecimal representation of the byte. The recommended encoding scheme to use is UTF-8. However, for compatibility reasons, if an encoding is not specified, then the default encoding of the platform is used.\n\nFor example using UTF-8 as the encoding scheme the string \"The string ü@foo-bar\" would get converted to \"The+string+%C3%BC%40foo-bar\" because in UTF-8 the character ü is encoded as two bytes C3 (hex) and BC (hex), and the character @ is encoded as one byte 40 (hex).\n\nSummary\n-------\n\n| Public methods ||\n|-----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| open static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | [encode](#encode(kotlin.String))`(`s:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`)` Translates a string into `x-www-form-urlencoded` format. |\n| open static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | [encode](#encode(kotlin.String,%20kotlin.String))`(`s:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `enc:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`)` Translates a string into `application/x-www-form-urlencoded` format using a specific encoding scheme. |\n| open static [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | [encode](#encode(kotlin.String,%20java.nio.charset.Charset))`(`s:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`, `charset:` `[Charset](../nio/charset/Charset.html#)!`)` Translates a string into `application/x-www-form-urlencoded` format using a specific [Charset](../nio/charset/Charset.html#). |\n\nPublic methods\n--------------\n\n### encode\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \nDeprecated in [API level 15](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen static fun encode(s: String!): String!\n```\n\n**Deprecated:** *The resulting string may vary depending on the platform's default encoding. Instead, use the encode(String,String) method to specify the encoding.*\n\nTranslates a string into `x-www-form-urlencoded` format. This method uses the platform's default encoding as the encoding scheme to obtain the bytes for unsafe characters.\n\n| Parameters ||\n|-----|---------------------------------------------------------------------------------------------------------------|\n| `s` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!: `String` to be translated. |\n\n| Return ||\n|-----------------------------------------------------------------------------------|--------------------------|\n| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | the translated `String`. |\n\n### encode\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen static fun encode(\n s: String!, \n enc: String!\n): String!\n```\n\nTranslates a string into `application/x-www-form-urlencoded` format using a specific encoding scheme.\n\nThis method behaves the same as [encode(String s, Charset charset)](../lang/String.html#) except that it will [look up the charset](../nio/charset/Charset.html#forName(kotlin.String)) using the given encoding name.\n\n| Parameters ||\n|-------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `s` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!: `String` to be translated. |\n| `enc` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!: The name of a supported [character encoding](../lang/package-summary.html#charenc). |\n\n| Return ||\n|-----------------------------------------------------------------------------------|--------------------------|\n| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | the translated `String`. |\n\n| Exceptions ||\n|----------------------------------------|----------------------------------------|\n| `java.io.UnsupportedEncodingException` | If the named encoding is not supported |\n\n**See Also**\n\n- [java.net.URLDecoder#decode(java.lang.String, java.lang.String)](/reference/kotlin/java/net/URLDecoder#decode(kotlin.String,%20kotlin.String)) \n\n### encode\n\nAdded in [API level 33](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen static fun encode(\n s: String!, \n charset: Charset!\n): String!\n```\n\nTranslates a string into `application/x-www-form-urlencoded` format using a specific [Charset](../nio/charset/Charset.html#). This method uses the supplied charset to obtain the bytes for unsafe characters.\n\n***Note:** The [World Wide Web Consortium Recommendation](http://www.w3.org/TR/html40/appendix/notes.html#non-ascii-chars) states that UTF-8 should be used. Not doing so may introduce incompatibilities.*\n\n| Parameters ||\n|-----------|---------------------------------------------------------------------------------------------------------------|\n| `s` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!: `String` to be translated. |\n| `charset` | [Charset](../nio/charset/Charset.html#)!: the given charset |\n\n| Return ||\n|-----------------------------------------------------------------------------------|--------------------------|\n| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | the translated `String`. |\n\n| Exceptions ||\n|----------------------------------|--------------------------------|\n| `java.lang.NullPointerException` | if `s` or `charset` is `null`. |\n\n**See Also**\n\n- [java.net.URLDecoder#decode(java.lang.String, java.nio.charset.Charset)](/reference/kotlin/java/net/URLDecoder#decode(kotlin.String,%20java.nio.charset.Charset))"]]