英文:
How Convert StringText To Binary And Conversely Using Go
问题
你好!以下是你要翻译的内容:
我想要使用Go将Text
(类型为String
)转换为Binary
(类型为String
),反之亦然。
一些有用的链接:
https://stackoverflow.com/questions/37349071/golang-how-to-convert-string-to-binary-representation/37350639 和
https://stackoverflow.com/questions/32685687/convert-string-to-binary-in-go
但是我需要另外一个。
我想要一个将文本(例如hello
)转换为二进制的示例,然后可以将该二进制转换回原始文本(hello
)。
var hash_text := hash("hello") // 例如返回 *****
var unhash_text := unhash(hash_text) // 返回 hello
类似于这个 gist.github.com/hutt/8978333(使用 PHP 实现)。
对我来说,速度
很重要
。
英文:
i want Convert Text
(type=String
) To Binary
(type=String
) And Conversely
Using Go
some userfull link :
https://stackoverflow.com/questions/37349071/golang-how-to-convert-string-to-binary-representation/37350639 &
https://stackoverflow.com/questions/32685687/convert-string-to-binary-in-go
but i need another.
i want example convert a text like hello
to binary
. and next can convert then binary to first text(hello
).
var hash_text := hash("hello")//example return *****
var unhash_text := unhash(hash_text);//return hello
like this gist.github.com/hutt/8978333 (using php)
also speed
for me is importamt
.
答案1
得分: 2
将每个字节单独转换为其二进制表示。您可以使用strconv.ParseUint
将二进制转换回字节。
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
英文:
Convert each byte individually to its base 2 representation. You can use strconv.ParseUint
to convert the base2 back to bytes.
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)
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论