gpt4 book ai didi

string - slice 无法转换为字符串

转载 作者:IT王子 更新时间:2023-10-29 02:34:16 24 4
gpt4 key购买 nike

func (this *AdminModel) Login(v_name string, v_pwd string) (bool, error, uint) {
o := orm.NewOrm()
v_pwd_encrypt_byte := md5.Sum([]byte(v_pwd))
v_pwd_encrypt := string(v_pwd_encrypt_byte[:])
t_admin := Admin{Name: v_name, Pwd: v_pwd_encrypt}
fmt.Printf("username:%v password:%v\n", v_name, v_pwd_encrypt_byte)
fmt.Printf("username:%v password:%v\n", v_name, v_pwd_encrypt_byte[:])
fmt.Printf("username:%v password:%v\n", v_name, v_pwd_encrypt)
err := o.Read(&t_admin, "Name", "Pwd")
if err != nil {
return false, err, 0
} else {
return true, nil, t_admin.Id
}
}

打印结果:

username:yuhaya  password:[97 22 175 237 203 11 195 16 131 147 92 28 38 47 244 201]
username:yuhaya password:[97 22 175 237 203 11 195 16 131 147 92 28 38 47 244 201]
username:yuhaya password:a???
???\&/??

为什么最后一行打印结果乱码?

v_pwd_encrypt := string(v_pwd_encrypt_byte[:])

这个职位转换不成问题吗?

最佳答案

添加到@Ainar-G 的回答,hex.EncodeToString是最有效的方法,因为它不涉及像 fmt.Sprintf 这样的反射或类型猜测。

func main() {
sum := md5.Sum([]byte("meh"))
stringSum := hex.EncodeToString(sum[:])
fmt.Println(stringSum)
}

关于string - slice 无法转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28152276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com