Как конвертировать 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)
}