-2

我想将Text(type= String) 转换为Binary(type= String) 并Conversely使用 Go

一些用户完整的链接: Golang:如何在 Go 中将字符串转换为二进制表示和 将字符串转换为二进制

但我需要另一个。

我想要示例将文本转换hellobinary. 然后下一步可以将二进制转换为第一个文本(hello)。

var hash_text := hash("hello")//example return *****
var unhash_text := unhash(hash_text);//return hello

像这个 gist.github.com/hutt/8978333 (使用 php)

speed对我来说也是importamt

4

1 回答 1

2

将每个字节单独转换为其基数 2 表示。您可以使用strconv.ParseUint将 base2 转换回字节。

func stringToBase2(s string) string {
    var buf bytes.Buffer
    for i := 0; i < len(s); i++ {
        fmt.Fprintf(&buf, "%08b", s[i])
    }
    return buf.String()
}

func base2ToString(s string) string {
    var out []byte
    for i := 0; i+8 <= len(s); i += 8 {
        b, err := strconv.ParseUint(s[i:i+8], 2, 8)
        if err != nil {
            panic(err)
        }
        out = append(out, byte(b))
    }
    return string(out)
}

https://play.golang.org/p/cLvoPHZ-hH

于 2017-01-31T16:08:50.137 回答