Golang では、URL はネットワーク リソースを見つけるための非常に重要な記号です。 URL を使用する場合、URL エンコードとデコードが関係します。URL エンコードは、非 ASCII 文字または特殊文字を含むテキストを URL セーフ形式に変換することを指し、URL デコードは、この URL セーフなテキストを元のテキストに変換します。
Golang では、組み込みの net/url パッケージを使用して URL エンコードとデコードを実装できます。次に、Golang の net/url パッケージを使用して URL エンコードとデコードを実装する方法を詳しく紹介します。
URL エンコード
Golang では、net/url パッケージの Escape 関数と QueryEscape 関数を使用して URL エンコードを実装できます。以下に 2 つの機能の使用方法を示します。
エスケープ関数は主にテキストを URL セーフ形式にエンコードするために使用され、スペース、特殊文字、非 ASCII 文字を次のように変換します。 %xx と %uxxxx の形式。
import "net/url" text := "This is a test 中文" encodedText := url.Escape(text) fmt.Println(encodedText) // This%20is%20a%20test%20%E4%B8%AD%E6%96%87
QueryEscape 関数は、主に URL リクエスト パラメーター内のテキストをエンコードするために使用され、スペース、特殊文字、および非 ASCII 文字を区切ります。 %xx および %uxxxx 形式。同時に、QueryEscape 関数は Escape 関数と同等であり、同じ結果を返します。
import "net/url" text := "This is a test 中文" encodedText := url.QueryEscape(text) fmt.Println(encodedText) // This+is+a+test+%E4%B8%AD%E6%96%87
URL デコード
Golang では、net/url パッケージ内の Unescape 関数と QueryUnescape 関数を使用して URL デコードを実装できます。これらの関数は、それぞれ Escape 関数と QueryEscape 関数に対応します。
Unescape 関数は主に、エンコードされたテキストを元のテキストに変換するために使用され、%xx と %uxxxx の形式をそれぞれスペースに変換します。対応する ASCII 文字と対応する UniCode 文字。
import "net/url" encodedText := "This%20is%20a%20test%20%E4%B8%AD%E6%96%87" text, err := url.Unescape(encodedText) if err != nil { panic(err) } fmt.Println(text) // This is a test 中文
QueryUnescape 関数は主に、URL リクエスト パラメーターのエンコーディングを元のテキストにデコードするために使用され、%xx と % の形式を変換します。スペース、対応する ASCII 文字、および対応する UniCode 文字に変換します。同時に、QueryUnescape 関数は Unescape 関数と同等であり、同じ結果を返します。
import "net/url" encodedText := "This+is+a+test+%E4%B8%AD%E6%96%87" text, err := url.QueryUnescape(encodedText) if err != nil { panic(err) } fmt.Println(text) // This is a test 中文
概要
Golang では、組み込みの net/url パッケージを使用して URL エンコードとデコードを簡単に実現できます。特にネットワーク アプリケーションでは、URL エンコードとデコードが非常に一般的に使用され、ネットワーク セキュリティ、データ送信、その他の側面で大きな役割を果たしています。したがって、Golang 開発者にとって、Golang での URL エンコードおよびデコード技術の使用に習熟することが非常に重要です。
以上がgolang URLトランスコーディングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。