go去掉u0000字符
作者:互联网
在Aes对称加密时,解密的字符串中有u0000无关字符,是由转码算法产生的buff无关位。
怎样把其清除呢?
参考资料:https://www.dazhuanlan.com/2020/06/02/5ed65c0e844fb/
参考资料中使用unicode.IsLetter(v) && !unicode.IsDigit只能判断字符和数字,如果字符串内存在特殊符号也会过滤掉,是错误的。
[]rune()可将字符串转成int数值,其值是ascii编码值(有可能不是ascii,与其类似),u0000对应的值为0。
正确代码是:
func rmu0000(s string) string {
str := make([]rune, 0, len(s))
for _, v := range []rune(s) {
if v == 0 {
continue
}
str = append(str, v)
}
return string(str)
}
标签:u0000,字符,string,字符串,rune,str,go,去掉 来源: https://blog.csdn.net/dodyanst/article/details/117061882