Home>Article>Backend Development> Quick Start: Use Go language functions to implement simple URL encoding and decoding functions

Quick Start: Use Go language functions to implement simple URL encoding and decoding functions

WBOY
WBOY Original
2023-07-30 19:48:20 1740browse

Quick Start: Use Go language functions to implement simple URL encoding and decoding functions

URL encoding is to convert special characters in the URL into a specific encoding format to ensure the correctness and security of the URL during transmission. sex. URL decoding restores the encoded URL to the original URL string. In the Go language, we can use the functions provided by the built-innet/urlpackage to implement URL encoding and decoding functions.

URL Encoding

The following is a simple example code that shows how to use Go language functions to encode a URL string:

package main import ( "fmt" "net/url" ) func main() { rawUrl := "https://www.example.com/search?q=编码测试&category=编程" encodedUrl := url.QueryEscape(rawUrl) fmt.Println("Encoded URL:", encodedUrl) }

In the above example, we First, an original URL stringrawUrlis defined, which contains Chinese characters. Then use theurl.QueryEscape()function to encode the string and obtain an encoded URL stringencodedUrl. Finally, print out the encoded URL string throughfmt.Println().

Run the above code, the output result is as follows:

Encoded URL: https%3A%2F%2Fwww.example.com%2Fsearch%3Fq%3D%E7%BC%96%E7%A0%81%E6%B5%8B%E8%AF%95%26category%3D%E7%BC%96%E7%A8%8B

You can see that the Chinese characters in the original URL have been successfully encoded, and the special characters have also been converted into corresponding Encoding format.

URL Decoding

Similarly, we can also use theurl.QueryUnescape()function to decode the encoded URL string and restore it to the original URL string. The following is a simple example code:

package main import ( "fmt" "net/url" ) func main() { encodedUrl := "https%3A%2F%2Fwww.example.com%2Fsearch%3Fq%3D%E7%BC%96%E7%A0%81%E6%B5%8B%E8%AF%95%26category%3D%E7%BC%96%E7%A8%8B" decodedUrl, err := url.QueryUnescape(encodedUrl) if err != nil { fmt.Println("Error:", err) return } fmt.Println("Decoded URL:", decodedUrl) }

In the above example, we define an encoded URL stringencodedUrland then useurl.QueryUnescape()The function decodes it and obtains a decoded URL stringdecodedUrl. Note that theurl.QueryUnescape()function also returns an error value, so we need to check whether an error occurred after decoding.

Run the above code, the output result is as follows:

Decoded URL: https://www.example.com/search?q=编码测试&category=编程

You can see that the encoded URL string has been successfully decoded and restored to the original URL string.

In summary, it is very simple to use Go language functions to implement URL encoding and decoding functions. We only need to introduce thenet/urlpackage and useurl.QueryEscape()# respectively. ## andurl.QueryUnescape()functions are sufficient. In this way, we can handle the encoding and decoding needs of URL strings in our Go language program.

The above is the detailed content of Quick Start: Use Go language functions to implement simple URL encoding and decoding functions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn