Go는 base64 인코딩/디코딩(base64 encoding/decoding)을 내장 기능으로 지원합니다. |
|
package main
|
|
다음 구문은 |
import b64 "encoding/base64"
import "fmt"
|
func main() {
|
|
다음은 우리가 인코딩/디코딩할 |
data := "abc123!?$*&()'-=@~"
|
Go는 표준과 URL 호환 base64 모두 지원합니다. 다음은 표준 인코더로 인코딩하는 방법입니다. 인코더는 |
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))
}
|
이 문자열은 표준과 URL base64 인코더를 사용하여 약간 다른 값으로 인코딩하지만, (후미가 |
$ go run base64-encoding.go
YWJjMTIzIT8kKiYoKSctPUB+
abc123!?$*&()'-=@~
|
YWJjMTIzIT8kKiYoKSctPUB-
abc123!?$*&()'-=@~
|
다음 예제: 파일 읽기.