Go 言語における Base64 エンコード

GolangGolangBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Go言語におけるBase64エンコードの知識をテストすることを目的としています。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL go(("Golang")) -.-> go/AdvancedTopicsGroup(["Advanced Topics"]) go/AdvancedTopicsGroup -.-> go/base64_encoding("base64 Encoding") subgraph Lab Skills go/base64_encoding -.-> lab-15455{{"Go 言語における Base64 エンコード"}} end

Base64エンコード

与えられた文字列を標準およびURL互換のBase64エンコードを使用してエンコードおよびデコードするGo言語のプログラムを書く必要があります。

  • プログラムは、デフォルトのbase64ではなくb64という名前でencoding/base64パッケージをインポートする必要があります。
  • プログラムは、標準およびURL互換のBase64エンコードを使用して与えられた文字列をエンコードする必要があります。
  • プログラムは、標準およびURL互換のBase64デコードを使用してエンコードされた文字列をデコードする必要があります。
  • プログラムは、エンコードおよびデコードされた文字列をコンソールに出力する必要があります。
## 標準およびURLのBase64エンコーダーでは、文字列を少し異なる値にエンコードします
## (末尾の`+`と`-`)が、どちらも望ましいように元の文字列にデコードされます。
$ go run base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~

YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~

以下に完全なコードがあります:

// Goは、[Base64エンコード/デコード](https://en.wikipedia.org/wiki/Base64)に対する組み込みのサポートを提供しています。

package main

// この構文は、デフォルトの`base64`ではなく`b64`という名前で`encoding/base64`パッケージをインポートします。
// これにより、以下で少しスペースを節約できます。
import (
	b64 "encoding/base64"
	"fmt"
)

func main() {

	// ここにエンコード/デコードする`string`があります。
	data := "abc123!?$*&()'-=@~"

	// Goは、標準およびURL互換のBase64の両方をサポートしています。
	// ここでは、標準エンコーダーを使用してエンコードする方法を示します。
	// エンコーダーには`[]byte`が必要なので、`string`をその型に変換します。
	sEnc := b64.StdEncoding.EncodeToString([]byte(data))
	fmt.Println(sEnc)

	// デコードはエラーを返す場合があります。
	// 入力が正しいことを既に知っていない場合は、これを確認できます。
	sDec, _ := b64.StdEncoding.DecodeString(sEnc)
	fmt.Println(string(sDec))
	fmt.Println()

	// これは、URL互換のBase64形式を使用してエンコード/デコードします。
	uEnc := b64.URLEncoding.EncodeToString([]byte(data))
	fmt.Println(uEnc)
	uDec, _ := b64.URLEncoding.DecodeString(uEnc)
	fmt.Println(string(uDec))
}

まとめ

この実験では、Go言語を使って、標準およびURL互換のBase64エンコードを使って与えられた文字列をエンコードおよびデコードする方法を学びました。