Python 编码列表等价物

我正在联系的服务器是用 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 中编写客户端,不想在服务器端更改任何内容。


慕标5832272
浏览 126回答 1
1回答

蝴蝶刀刀

这似乎可以满足您的要求:package mainimport "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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go