Base64 変換についてまとめてみました。
Python3 の例
encode01.py
#! /usr/bin/python
#
import base64
#
data_in = 'こんにちは'
bytes_in = data_in.encode()
#
encoded = base64.b64encode(bytes_in)
print(encoded)
decode01.py
#! /usr/bin/python
#
import base64
#
data = b'44GT44KT44Gr44Gh44Gv'
decoded = base64.b64decode(data)
str_out = decoded.decode()
print(str_out)
#
Node.js の例
encode01.js
#! /usr/bin/node
// ---------------------------------------------------------------
// encode01.js
//
// Apr/10/2021
//
// ---------------------------------------------------------------
'use strict'
// ---------------------------------------------------------------
console.error ("*** 開始 ***")
const data_in = 'こんにちは'
const buffer = new Buffer.from(data_in)
const string = buffer.toString('base64')
console.log(string)
console.error ("*** 終了 ***")
// ---------------------------------------------------------------
decode01.js
#! /usr/bin/node
// ---------------------------------------------------------------
// decode01.js
//
// Apr/10/2021
//
// ---------------------------------------------------------------
'use strict'
// ---------------------------------------------------------------
console.error ("*** 開始 ***")
const data_in = '44GT44KT44Gr44Gh44Gv'
const string = Buffer.from(data_in,'base64')
console.log(string.toString())
console.error ("*** 終了 ***")
// ---------------------------------------------------------------
Go の例
encode01.go
package main
import (
b64 "encoding/base64"
"fmt"
"os"
)
func main() {
fmt.Fprintf (os.Stderr,"*** 開始 ***\n")
data := "こんにちは"
sEnc := b64.StdEncoding.EncodeToString([]byte(data))
fmt.Println(sEnc)
fmt.Fprintf (os.Stderr,"*** 終了 ***\n")
}
decode01.go
package main
import (
b64 "encoding/base64"
"fmt"
"os"
)
func main() {
fmt.Fprintf (os.Stderr,"*** 開始 ***\n")
data_in := "44GT44KT44Gr44Gh44Gv"
uDec, _ := b64.URLEncoding.DecodeString(data_in)
fmt.Println(string(uDec))
fmt.Fprintf (os.Stderr,"*** 終了 ***\n")
}
コマンドでの変換
エンコード
入力データ
a01.txt
こんにちは
>実行結果
>```text
$ base64 a01.txt
44GT44KT44Gr44Gh44Gv
デコード
入力データ
b01.txt
44GT44KT44Gr44Gh44Gv
>実行結果
>```text
$ base64 -d b01.txt
こんにちは