记一次安卓读取lynx参数空格变成+号的问题

91 阅读1分钟

背景

在一次需求开发中 安卓遇到这样的问题:空格变成了+号。但是ios没有

问题原因

在进行url encode的时候,我们使用了Golang "net/url"库中 url.QueryEscape函数,会把url里面的特殊符号进行替换,而用url.QueryUnEscape函数就不会替换

package main

import (
    "fmt"
    "net/url"
)

func main() {
    var urlStr string = ` 1 `
    u := url.QueryEscape(urlStr)
    fmt.Println(u)
    u, _ = url.QueryUnescape(urlStr)
    fmt.Println(u)

    // escapeUrl := url.QueryEscape(urlStr)
    //fmt.Println("编码:", escapeUrl)

    //enEscapeUrl, _ := url.QueryUnescape(escapeUrl)
    //fmt.Println("解码:", enEscapeUrl)
}