繁体   English   中英

如何输出`exec.Command`的输出数据而没有断字符

[英]How to output the output data of `exec.Command` without broken characters

我尝试运行此源代码以获取 cmd 的输出。

cmd, err := exec.Command("systeminfo").Output()
if err != nil {
    return nil, err
}
fmt.Println(string(cmd))
return cmd, nil

但结果就像这张图。

在此处输入图片说明

输出包括韩文,只显示英文和数字,其他字符全断。

我不确定如何解决这些编码问题。

我用这段代码解决了这个问题

//import
//"golang.org/x/text/encoding/korean"
//"golang.org/x/text/transform"
cmd, err := exec.Command("systeminfo").Output()
if err != nil {
    return nil, err
}

bufs := new(bytes.Buffer) 
wr := transform.NewWriter(bufs, korean.EUCKR.NewDecoder())
wr.Write(cmd)
wr.Close()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM