我正在联系的服务器是用 python 编写的,除了编码列表。在我现有的 python 客户端代码中,我执行以下操作:>>> import bencode>>> data = [4456, 'Rakesh', 27]>>> bdata = bencode.bencode(data)>>> bdata'li4456e6:Rakeshi27ee'服务器通过以下方式取回列表:>>> bencode.bdecode(bdata)[4456, 'Rakesh', 27]如何在 golang 中实现客户端部分?我知道已经编写了 bencode 包,但这里的技巧是我如何通过提供“不同数据类型”的一系列元素来到达 golang 中的“li4456e6:Rakeshi27ee”,以便当服务器(用 python 编写)执行 bdecode ,它返回列表 [4456, 'Rakesh', 27]。我只在 golang 中编写客户端,不想在服务器端更改任何内容。
1 回答
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
这似乎可以满足您的要求:
package main
import "fmt"
import "bytes"
import "log"
import bencode "github.com/jackpal/bencode-go"
func main() {
a := []interface{}{4456, "Rakesh", 27}
var buf bytes.Buffer
err := bencode.Marshal(&buf, a)
if err != nil {
log.Fatal(err)
}
fmt.Println(buf.String())
}
输出:
li4456e6:Rakeshi27ee
- 1 回答
- 0 关注
- 125 浏览
添加回答
举报
0/150
提交
取消