Algorithm 如何使用Go将StringText转换为二进制文件
我想将Algorithm 如何使用Go将StringText转换为二进制文件,algorithm,go,hash,rune,Algorithm,Go,Hash,Rune,我想将文本(type=字符串)转换为二进制(type=字符串)并使用Go转换为 一些用户完整链接: & 但我需要另一个 我想把像hello这样的文本转换成binary。接下来可以将二进制文件转换为第一个文本(hello) 如gist.github.com/hutt/8978333(使用php) 另外,对于我来说,speed是importamt将每个字节分别转换为其基2表示形式。您可以使用strconv.ParseUint将base2转换回字节 func stringToBase2(s str
文本
(type=字符串
)转换为二进制
(type=字符串
)并使用Go转换为
一些用户完整链接:
&
但我需要另一个
我想把像hello
这样的文本转换成binary
。接下来可以将二进制文件转换为第一个文本(hello
)
如gist.github.com/hutt/8978333(使用php)
另外,对于我来说,speed
是importamt
将每个字节分别转换为其基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)
}
func stringToBase2(s字符串)字符串{
var buf字节。缓冲区
对于i:=0;i 对于i:=0;i+8,“二进制”是什么意思?您将字符串更改为******
并神奇地将其转换回的示例(使用php)并没有任何感觉,我仍然不明白。字符串只是一个字节片,可以直接转换为[]字节,它已经是“二进制”了如您所知。请准确显示您期望的输出。1101000 1100101 1101100 1101100 1101111
=hello
在这个php源代码中?需要尝试,如果不是二进制的话,catch不显示错误。示例:fmt.Println(base2ToString(“jdfigjdfg”))
如何修复此问题?显示错误:panic:strconv.ParseUint:parsing“jdfgidjf”:无效语法
???如何修复?我故意让它在无效输入时死机。如果你想捕获所有错误,你可以自由地这样做。而不是死机
,返回错误并处理它。你已经学习了Go的基本知识了吗?也许可以使用@LovePython:adler32
是一个校验和,你不能“解码”它。你是说?请花点时间学习基础知识和如何检查文档。哦,好的。我有一个文本(数字)。如何缩小这个?什么哈希更好和缩小?
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)
}