Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 解释并删除docker exec响应开头的无用字节_Go - Fatal编程技术网

Go 解释并删除docker exec响应开头的无用字节

Go 解释并删除docker exec响应开头的无用字节,go,Go,我正在运行docker api函数: 当我使用内置bufio读取器读取响应时: line, _, err := resp.Reader.ReadLine() 我没有收到任何错误,但如果我试图将字节转换为字符串,应用程序就会崩溃——有问题的应用程序是windows服务,我想正因为如此,我正在努力从中找出一个错误 现在,我已设法使用事件查看器日志查看输出: logger.Infof("res: %q", line) 此操作的输出为: res: \x01\x00\x00\x00\x00\x00\x

我正在运行docker api函数:

当我使用内置bufio读取器读取响应时:

line, _, err := resp.Reader.ReadLine()
我没有收到任何错误,但如果我试图将字节转换为字符串,应用程序就会崩溃——有问题的应用程序是windows服务,我想正因为如此,我正在努力从中找出一个错误

现在,我已设法使用事件查看器日志查看输出:

logger.Infof("res: %q", line)
此操作的输出为:

res: \x01\x00\x00\x00\x00\x00\x00\x00X{\n更新\:错误,\n扫描\:错误,\n进度\:0,\n发现\:错误,\注册\:错误}

现在,我期待的是json,但最不受欢迎的是funky前缀,你知道这些字节是什么,为什么它们会出现吗?我希望这能告诉我下一个问题;什么是最干净的方法来移除或不接收它们


我目前正在按固定长度修剪字节,但我认为我需要做一些更复杂的事情。我正在考虑对这些字节进行左修剪:\x01\x00,但不确定是否还需要其他字节

您得到的HTTP响应是文档中描述的Docker流格式


您应该考虑使用该函数将流分解为StdOut/StDrr。

< P>您正在返回的HTTP响应是文档格式的DOCKER流格式。


你应该考虑使用这个函数将流分解成STDUD/STDER。< /P>什么是RES?和这里的线一样吗?您需要知道生成该数据的是什么,以便确定如何处理它。您的容器是否配置为使用TTY运行?@jimB是的,相同,我的错误,在问题1中修复了,0,0,0,0,0,0,88 X=88=json的长度刚才修剪了任何内容{是安全的。生成JSON的软件是什么?如果没有生成输出的代码的配合,它将不知道长度。也就是说,我现在怀疑这与您正在使用的Golang库有任何关系。什么是res?与这里的行相同吗?是吗d了解生成该数据的内容,以便确定如何处理该数据。您的容器是否配置为使用TTY运行?@jimB是的,相同,我的错误,在问题1中修复,0,0,0,0,0,0,88 X=88=json的长度刚才修剪了任何内容{是安全的。生成JSON的软件是什么?如果没有生成输出的代码的配合,它将不知道长度。也就是说,我现在怀疑这是否与您使用的Golang库有关。谢谢Imars,这看起来是答案,我已经知道了今天的比赛,确认后接受汉克斯·伊马尔斯,这看起来是答案,我今天的比赛,确认后接受