解决中文乱码问题.

Signed-off-by: rick.chan <cy@haoan119.com>
This commit is contained in:
rick.chan 2023-10-19 14:35:08 +08:00
parent dd7f2d89cf
commit 3ca478d24e
1 changed files with 10 additions and 11 deletions

21
main.go
View File

@ -9,45 +9,44 @@ import (
func main() { func main() {
var fi, fo string var fi, fo string
flag.Usage = func() { flag.Usage = func() {
fmt.Println("json2nats version v0.1") fmt.Println("json2nats version v0.2")
flag.PrintDefaults() flag.PrintDefaults()
} }
flag.StringVar(&fi, "i", "default.json", "Json file name") flag.StringVar(&fi, "i", "default.json", "Json file name")
flag.StringVar(&fo, "o", "", "Output file name") flag.StringVar(&fo, "o", "", "Output file name")
flag.Parse() flag.Parse()
b, err := os.ReadFile(fi) bi, err := os.ReadFile(fi)
if err != nil { if err != nil {
panic(err) panic(err)
} }
fmt.Println("[OK] Read json file:", fi) fmt.Println("[OK] Read json file:", fi)
var stri, stro string var bo []byte = make([]byte, 0)
stri = string(b) for i := range bi {
for i := range stri { switch bi[i] {
switch stri[i] {
case ' ': case ' ':
case '\n': case '\n':
case '\r': case '\r':
// do nothing. // do nothing.
case '"': case '"':
stro += `\"` bo = append(bo, []byte(`\"`)...)
case ',': case ',':
stro += `, ` bo = append(bo, []byte(`, `)...)
default: default:
stro += string(stri[i]) bo = append(bo, bi[i])
} }
} }
fmt.Println("[OK] Make nats tool string:") fmt.Println("[OK] Make nats tool string:")
if fo != "" { if fo != "" {
err = os.WriteFile(fo, []byte(stro), 0644) err = os.WriteFile(fo, bo, 0644)
if err != nil { if err != nil {
panic(err) panic(err)
} }
fmt.Println("[OK] Write to:", fo) fmt.Println("[OK] Write to:", fo)
} }
fmt.Println(stro) fmt.Println(string(bo))
} }