Go の「json.Marshal」が「[]byte」を Base64 文字列としてエンコードするのはなぜですか?
Dec 10, 2024 am 01:23 AM[]byte を JSON にマーシャリングする
Go では、[]byte を JSON にマーシャリングする方法は、他のデータ型とは少し異なります。バイトを配列として直接エンコードする代わりに、JSON パッケージは []byte を Base64 でエンコードされた文字列としてエンコードします。この動作は、encoding/json のドキュメントに明示的に記載されています。
Array and slice values encode as JSON arrays, except that []byte encodes as a base64-encoded string, and a nil slice encodes as the null JSON object.
Base64 エンコードされた文字列出力
あなたの場合、 json.Marshal(グループ)には「AAAAAQID」が含まれています。これは、[]byte スライスの Base64 エンコードを表します。
originalBytes := []byte{0, 0, 0, 1, 2, 3} encodedString := base64.StdEncoding.EncodeToString(originalBytes) fmt.Println(encodedString) // Output: AAAAAQID
Base64 データのデコード
エンコードされた文字列から元の []byte 値を取得するには、次のようにします。 Base64 データをデコードできます:
decodedBytes, err := base64.StdEncoding.DecodeString("AAAAAQID") if err != nil { // Handle error } fmt.Println(decodedBytes) // Output: [0 0 0 1 2 3]
以上がGo の「json.Marshal」が「[]byte」を Base64 文字列としてエンコードするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOの実際のパフォーマンスを正確に反映するベンチマークを作成するにはどうすればよいですか?
