您的位置 首页 golang

URL编码解码字符串,互联网无歧义传输,Go一招鲜吃遍天!

引言

在本文中,您将了解如何在Golang中对查询字符串或路径段进行URL 编码 。URL编码,也称为百分比编码,将包含 不可打印、保留或非ascii字符 的字符串转换为可以在 internet上传输的普遍接受的格式

URL编码的数据也称为 application/x-www-form-urlencoded MIME格式。

URL编码解码字符串,互联网无歧义传输,Go一招鲜吃遍天!

编码

Go的net/url包内有一个名为QueryEscape的内置方法来转义/编码一个字符串,这样它就可以安全地放在URL查询中。下面的示例演示如何在Golang -中对查询字符串进行编码。

 package main

import (
	"fmt"
	"net/url"
)

func main() {
	query := "Hellö Wörld@Golang"
	fmt.Println(url.QueryEscape(query))
}  

输出内容:

 Hell%C3%B6+W%C3%B6rld%40Golang  

对多个查询参数的编码

如果希望同时对多个查询参数进行编码,则可以创建 url.Values 由查询参数到值的映射组成,并使用url.Values.Encode()方法对所有查询参数进行编码。

下面是一个例子:

 package main

import (
	"fmt"
	"net/url"
)

func main() {
	 params  := url.Values{}
	params.Add("name", "@Rajeev")
	params.Add("phone", "+919999999999")

	fmt.Println(params.Encode())
}  

输出内容:

 name=%40Rajeev☎=%2B919999999999  

对URL路径编码

与QueryEscape一样,Go中的net/url包也有另一个名为PathEscape()的函数,用于对字符串进行编码,以便将其安全地放置在URL的路径段中。

举个栗子:

 package main

import (
	"fmt"
	"net/url"
)

func main() {
	path := "path with?reserved+characters"
	fmt.Println(url.PathEscape(path))
}  

输出内容:

 path%20with%3Freserved+characters  

通过编码各个部分来构建完整的URL

最后,让我们看一个完整的例子,在Golang中进行URL解析和编码。

 package main

import (
	"fmt"
	"net/url"
)

func main() {
	// base url
	baseUrl, err := url.Parse("#34;)
	if err != nil {
		fmt.Println("Malformed URL: ", err.Error())
		return
	}

	// 添加query string参数
	baseUrl.Path += "path with?reserved characters"

	// 参数准备
	params := url.Values{}
	params.Add("q", "Hello World")
	params.Add("u", "@rajeev")

	// 附加query string到url上
	baseUrl.RawQuery = params.Encode() 

	fmt.Printf("Encoded URL is %qn", baseUrl.String())
}  

输出内容:

 Encoded URL is "#34;  

写在最后

从部分到整体,构建起来整个功能,这是拆解的用法。到更复杂的场景下用起来吧。

Happy coding 🙂

文章来源:智云一二三科技

文章标题:URL编码解码字符串,互联网无歧义传输,Go一招鲜吃遍天!

文章地址:https://www.zhihuclub.com/86193.shtml

关于作者: 智云科技

热门文章

评论已关闭

3条评论

  1. แหล่งรวมเว็บสล็อต มาพร้อมระบบรวมทั้งบริการดีๆสำหรับสมาชิกทุกท่าน ลงทะเบียนสมัครสมาชิกได้แล้วเดี๋ยวนี้เพื่อทุกคนสามารถร่วมบันเทิงใจและก็ทำเงินได้อย่างไร้ขีดจำกัด เป็นแหล่งรวมเกมที่ใหญ่ที่สุดของพวกเรา บริการดีๆต่างๆมากมายก่ายกอง
    เปิดให้บริการจากผู้สร้างโดยตรงจากต่างประเทศ ได้อย่างเพลินไร้ขีดกำจัด สามารถทำธุรกรรมการคลังต่างๆได้ด้วยตัวเอง แนวทางการเล่นผ่านอุกปรณ์โทรศัพท์มือถือ วางเดิมพันด้วยเงินจริง ที่รวมค่ายทุกค่ายไว้ภายใน สล็อตเว็บตรง ของพวกเราไว้ครบทุกวงจร เว็บเกมสล็อต
    เก็บไว้ภายในค่ายเกมเดียวจบครบนอกมั่นใจได้100%
    ได้เปิดให้บริการที่สุดแสนจะพิเศษสำหรับสมาชิกทุกท่าน สล็อตเครดิตฟรีที่จะสามารถช่วยให้ผู้เล่นมือใหม่ ถ้าเกิดมีปัญหาหรือคำถามประการใดก็สามารถติดต่อหาคณะทำงานได้โดยทันที มีโบนัสแตกหนักแตกบ่อยครั้งมีผู้เล่นผู้คนจำนวนมากที่สามารถปราบเงินรางวัลแจ็คพอตก้อนโต ลุ้นรับเงินรางวัลตอนนี้เปิดประสบการณ์ใหม่ที่ไม่เคยได้รับจากที่ไหนการันตีว่าไม่ผิดหวังอย่างไม่ต้องสงสัย อย่ารอคอยช้าสมัครเดี๋ยวนี้ลุ้นรับเงินรางวัลขณะนี้เปิดประสบดารณ์ใหม่ที่ไม่เคยได้รับจากที่ไหนรับประกันว่าไม่ผิดหวังอย่างแน่แท้ สามารถร่วมสนุกสนานกับเกมต่างๆมากไม่น้อยเลยทีเดียวได้อย่างไร้กลุ้มใจพร้อมมีระบบและบริการดีๆต่างๆจำนวนมาก
    สามารถทำธุรกรรมต่างๆผ่านระบบฝาก-ถอนได้ด้วยตนเองสบายมั่นคงและไม่มีอันตราย100%สามารถร่วมบันเทิงใจกับเกมสล็อตแตกง่ายได้อย่างเพลิน
    สำหรับสมาชิกทุกท่านที่ยังไม่มีประสบการณ์การเล่นมาก่อนการฝึกเล่นในโหมดทดสอบเล่นสล็อตฟรีจะช่วยทำให้ทุกคนสามารถเล่นได้อย่างถูกทางรู้เรื่องรูปแบบแล้วก็อัตราการชำระเงินรางวัล อย่ารอช้าสมัครช่วงนี้ลุ้นรับเงินรางวัลปัจจุบันเปิดประสบการณ์ใหม่ที่ไม่เคยได้รับจากที่ไหนรับประกันว่าไม่ผิดหวังอย่างไม่ต้องสงสัย ทางทีมงานของพวกเราได้เปิดให้บริการที่สุดแสนจะพิเศษสำหรับสมาชิกทุกท่านที่สามารถทำธุรกรรมต่างๆได้ด้วยตนเองรวดเร็วทันใจด้านใน10วินาที สล็อตที่ได้รับความนิยมที่มาแรงที่สุดในปี2022สามารถรับประกันเรื่องความมั่นคงและยั่งยืนไม่เป็นอันตรายเล่นได้จ่ายจริง100% เป็นคนมั่งมีในช่วงข้ามคืนกันเลยทีเดียวอัตราการได้รับเงินรางวัลมากถึง90%
    จะช่วยทำให้การลงทุนของทุกท่านได้รับผลตอบแทนที่คุ้มค่าอย่างแน่แท้

  2. GAPDH was used as the reference control, and gene expression levels were calculated using comparative Ct method

网站地图