如何将StringText转换为二进制并反过来使用Go

时间:2017-01-31 15:00:07

标签: algorithm go hash rune

我想转换String(type = Binary)到String(type = Conversely)和hello使用Go

一些userfull链接: Golang: How to convert String to binary representation& Convert string to binary in Go

但我需要另一个。

我希望示例将binary之类的文字转换为hello。接下来可以将二进制转换为第一个文本(var hash_text := hash("hello")//example return ***** var unhash_text := unhash(hash_text);//return hello )。

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

importamt对我来说还是{{1}}。

1 个答案:

答案 0 :(得分: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