美文网首页
Golang判断当前字符串是hex编码还是base64编码

Golang判断当前字符串是hex编码还是base64编码

作者: 路过麦田 | 来源:发表于2019-05-08 15:57 被阅读0次

    由于项目经历了多次迭代,协议也发生了多次变化,所以导致有些数据中是hex编码,有的是base64编码,所以需要区分开来,写了一个苟且的方法来区分

    
    func DecodeHexOrBase64(content string) ([]byte, error) {
        dat := []byte(content)
        isHex := true
        for _, v := range dat {
            if v >= 48 && v <= 57 || v >= 65 && v <= 70 || v >= 97 && v <= 102 {
                // isHex = true
            } else {
                isHex = false
                break
            }
        }
        if isHex {
            d, err := hex.DecodeString(content)
            if len(d) == 0 || err != nil {
                return base64.StdEncoding.DecodeString(content)
            } 
            return d, err
        } else {
            return base64.StdEncoding.DecodeString(content)
        }
    }
    
    

    相关文章

      网友评论

          本文标题:Golang判断当前字符串是hex编码还是base64编码

          本文链接:https://www.haomeiwen.com/subject/stqvoqtx.html