0
由于某些原因,将字符串编码为字节,我想知道它是否是一个错误。请参见下面的代码:为什么要写000/s而不是字符串?
ip, _, err := net.ParseCIDR(cidr)
if err!=nil{
log.Panicf("can't parse cidr %s, err was %v", cidr, err)
}
type Ip struct{
Ip string
}
ips := string(ip)
j:= Ip{
Ip: ips,
}
b, err := json.Marshal(j)
if err != nil {
log.Printf("error:", err)
}
fmt.Fprintln(w, string(b))
它打印:
{"Ip":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ufffd\ufffd\ufffd\ufffd\u0007+"}
我从EPEL软件库(红帽)运行围棋。我也做了一个返回类似结果的片段。
我怎么知道?在goDoc上,我只能看到IP的类型是[]字节,所以我认为它只是一个字节片段。 – user3721073
它是一个字节片段。但是这些字节是文字IP地址八位字节。字节值“255”不会打印为文字“255”字符串。该字符串将分别由3个字节组成,分别为ASCII字符'2','5'和'5'。 – jimt