go去掉u0000字符

2021/5/20 10:31:01

本文主要是介绍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)
}

 



这篇关于go去掉u0000字符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程