URL에 TXT 정보 입력
9970 단어 Go
Ionic 기반 개인 제품 개발의 뒷면 상황
그때의 내용은 URL에 모든 텍스트 정보를 넣는 대단한 기교였지만 반년 이상이 지나자 그때의 처리를 잊지 않기 위해 비망록으로 썼다.
프로세스
Golang의 Base64 인코딩에 URLEncoding이 있다니.
base64.NewEncoder(base64.URLEncoding, &buf64)
이 녀석을 사용하면 URL이 안전한 Base64 인코딩을 할 수 있습니다.또한 Golang에는 표준 gzip 라이브러리가 있습니다.따라서 이것들을 조합하면 다음과 같은 조작을 할 수 있다.package main
import (
"bytes"
"compress/gzip"
"encoding/base64"
"fmt"
"io/ioutil"
"strings"
)
func main() {
text := `
///////////////////////// ------\/////////ヽ
////:///////////////> "´ ∨////////∧
.///////////////> ´ ∨////////∧
///////////> ´ ∨////////∧
|///////,〃/ i//////////ハ
|////////i/ _ --――― 、--}//////////∧
|////////| ´ ト. ヽ \'/////////∧
|////////| .. イ i \ ノ ', \////////∧
|////////| . ´i i ー|-- 斗、. ', \///////∧
|////////| / | ハ ', ∧! ,ィf=ミ、 ',ー― ///////∧
|////////|' .、_|..斗七ヽト、 ヽ| u {::♥::} ゞ \ ',i///////////,∧
|////////| |/i/,.ィf=ミ ヽト、!| `¨¨¨´/ /\!.マニ ア//////,∧
|////////ハ / .ィ f:::♥ノ | / ///// / i |=イ/////////∧
|////////,∧ /{ ゞ `¨´ /, j/ /// ./イ / .| i i///////////
|/////////|.ヘ / 乂 ///// u / | | i!///////////
|/////////>j/ \ _ j/| .| ∧! !///////////
|/////// ∠ィ ヘ >_ ,ィv´ _) / | |/:::::∧ .|V//////////
|//////ゝ---一 ヘ ゝ----' u ゝ- ´ /i .| |:::::::::::∧!::∨/////////
|//////////| i ∧ ',≧=- __ .イ !ハ |:::::::::::::_:::乂////////
|//////////| ∧ ∧ ト{ } i {ーヘ !´ ̄ / アニ≧= ---
|//////////|/::::ヘ. ', |从 __ノi ', ノ ヘ| / /ニニニニニニ
|//////////|:::::::::::\{ヘ .|-< ゝ r 、 -、 / /ニニニニニニニ
|/////////ノ==-< ', | r' く ./ニニニニニニニニ
.ノ//>≦ニニニニニ\ }/ ` ´ \\ /ニニニニニニニニ
.///ニニニニニニニニニ\ `´ {ニニニニニニニニニ
.イニニニニニニニニニニニヽ /ニニニニニニニニニ
`
if b64, err := EncodeEncodeBase64Base64(text); err != nil {
fmt.Println("err:", err)
} else {
fmt.Println(b64)
if aa, err := DecodeBase64Gzip(b64); err != nil {
fmt.Println("err:", err)
} else {
fmt.Println(string(aa))
}
}
}
func EncodeEncodeBase64Base64(str string) (string, error) {
var buf64 bytes.Buffer
wb64 := base64.NewEncoder(base64.URLEncoding, &buf64)
wgz := gzip.NewWriter(wb64)
_, err := wgz.Write([]byte(str))
if err != nil {
return "", err
}
wgz.Close()
wb64.Close()
sRequest64 := string(buf64.Bytes())
return sRequest64, nil
}
func DecodeBase64Gzip(b64 string) ([]byte, error) {
if r, err := gzip.NewReader(base64.NewDecoder(base64.URLEncoding, strings.NewReader(b64))); err != nil {
fmt.Println(err)
return nil, err
} else {
if s, err := ioutil.ReadAll(r); err != nil {
fmt.Println(err)
return nil, err
} else {
return s, nil
}
}
}
총결산
위의 소스 코드를 사용하여 원하는 텍스트를 URL에 포함할 수 있습니다.또한 상기 원본 코드를 이용하여 웹 응용 프로그램 측면에 텍스트를 표시하는 처리가 따로 기록되어 있다
Reference
이 문제에 관하여(URL에 TXT 정보 입력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/scrpgil/items/6d689dc50f5ed2055cba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)