golang:
package main
import (
"bytes"
"compress/gzip"
"encoding/base64"
"fmt"
"io"
)
func main() {
var buf bytes.Buffer
gz := gzip.NewWriter(&buf)
defer gz.Close()
var source_sql string
source_sqls := "select * from table where id=1230 "
// infos := "select * from table where id=?"
id := 0
var buf2 bytes.Buffer
for {
id++
if id > 10 {
break
}
// select * from table where id=10
// 重置游标
buf.Reset()
gz = gzip.NewWriter(&buf)
gz.Write([]byte(source_sqls))
gz.Flush()
gz.Close()
source_sql = base64.StdEncoding.EncodeToString(buf.Bytes())
fmt.Println("source_sql:", source_sql)
source_sql2, err := base64.StdEncoding.DecodeString(source_sql)
if err != nil {
fmt.Println(err)
}
buf2.Reset()
r, err := gzip.NewReader(bytes.NewReader(source_sql2))
if err != nil {
fmt.Println("err2:", err)
return
}
io.Copy(&buf2, r)
r.Close()
fmt.Println(">>>>>", buf2.String())
}
}
输出:
book@linda:/mnt/d/pyk$ go run main.go
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
source_sql: H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
>>>>> select * from table where id=1230
python3:
#!/bin/python3
import base64
import gzip
str1 = "H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA" #""
print(str1)
try:
b64sqlInfo = base64.b64decode(str1)
# print(b64sqlInfo)
strSql = gzip.decompress(b64sqlInfo).decode("utf8")
print(strSql)
except Exception as e:
print(e)
输出:
book@linda:/mnt/d/pyk$ python3 a.py
H4sIAAAAAAAA/ypOzUlNLlHQUkgrys9VKElMyklVKM9ILUpVyEyxNTQyNlAAAAAA//8BAAD//+28GngiAAAA
select * from table where id=1230