반응형
얼마전 아래와 같은 문자열을 만난적이 있습니다.(저의 경우는 aws rds관련 로그를 파싱하는 과정에서 만났습니다)
H4sIAAAAAAAAAJVVbW/bNhD+K4T7oQngOHx/cZegxualARqnS7wB~~~
해당 문자열은 얼핏보면 base64로 인코딩 된것 같지만 아닙니다.
H4slA로 시작하는 문자열은 base64로 인코딩된 gzip 문자열 입니다.
base64로 디코딩 해준 후, gzip파일을 읽어온 것처럼 해석해야 합니다.
1. 소스코드
func main() {
data := "H4sIAAAAAAAAAJAA\n"
decodeString, _ := base64.StdEncoding.DecodeString(data)
r, err := gzip.NewReader(bytes.NewReader(decodeString))
if err != nil {
log.Fatal(err)
return
}
s, _ := ioutil.ReadAll(r)
fmt.Println(string(s))
}
반응형
'golang' 카테고리의 다른 글
[golang] gqlgen을 사용하여 golang graphql 서버 구축하기(1) (0) | 2022.12.07 |
---|---|
[golang] 맥북 m1칩에서 golang 크로스 컴파일 이슈 해결 방법 (0) | 2022.10.13 |
[golang] 익명함수를 고루틴으로 실행시킬때의 주의점(순서와 스택) (0) | 2022.09.08 |
[golang] go-sdk-v2 athena 사용법(go-sdk-v2 athena example) (2) | 2022.09.07 |
[golang] aws-sdk-go-v2 aws resource 정보를 max value 이상 가져오기 (0) | 2022.04.28 |
댓글