登录
首页 >  Golang >  Go问答

避免在`exec.Command`输出数据中出现字符截断

来源:stackoverflow

时间:2024-03-06 19:45:24 363浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《避免在`exec.Command`输出数据中出现字符截断》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我尝试运行此源代码来获取 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()

到这里,我们也就讲完了《避免在`exec.Command`输出数据中出现字符截断》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>