为了账号安全,请及时绑定邮箱和手机立即绑定

Python 编码列表等价物

Python 编码列表等价物

Go
慕标5832272 2022-01-17 18:25:55
我正在联系的服务器是用 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


查看完整回答
反对 回复 2022-01-17
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信