Как конвертировать StringText в двоичный и наоборот, используя Go

Я хочу конвертировать Text(Тип =String) Для Binary(Тип =String) А также Conversely Используя Go

некоторая пользовательская ссылка: Golang: Как преобразовать строку в двоичное представление и преобразовать строку в двоичную в Go

но мне нужен другой.

я хочу, чтобы пример преобразовал текст как hello в binary, и затем может преобразовать двоичный текст в первый текст (hello).

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

как этот gist.github.com/hutt/8978333 (используя php)

также speed для меня это importamt,

1 ответ

Решение

Конвертировать каждый байт индивидуально в его базовое представление 2. Ты можешь использовать strconv.ParseUint преобразовать base 2 обратно в байты.

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

Другие вопросы по тегам