参考教程

使用模块

go get github.com/axgle/mahonia

参考源码

package main

import (
	"fmt"
	"os/exec"
	"github.com/axgle/mahonia"
)

func main() {
	// var enc mahonia.Decoder
	enc := mahonia.NewDecoder("gbk")
	cmd := exec.Command("ipconfig")
	buf, _ := cmd.Output() // 错误处理略
	// print(string(buf))
	fmt.Println(enc.ConvertString(string(buf)))
}

实现效果


Windows IP 配置


以太网适配器 以太网:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

无线局域网适配器 本地连接* 1:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

无线局域网适配器 本地连接* 10:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

以太网适配器 以太网 2:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . : 

以太网适配器 VMware Network Adapter VMnet1:

   连接特定的 DNS 后缀 . . . . . . . : 
   本地链接 IPv6 地址. . . . . . . . : fe80::1db6:57d6:e035:3be3%7
   IPv4 地址 . . . . . . . . . . . . : 192.168.228.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 

以太网适配器 VMware Network Adapter VMnet8:

   连接特定的 DNS 后缀 . . . . . . . : 
   本地链接 IPv6 地址. . . . . . . . : fe80::b075:fc40:d541:4eed%20
   IPv4 地址 . . . . . . . . . . . . : 192.168.145.1
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 

无线局域网适配器 WLAN:

   连接特定的 DNS 后缀 . . . . . . . : lan
   本地链接 IPv6 地址. . . . . . . . : fe80::ccdc:fda9:ed84:3f51%8
   IPv4 地址 . . . . . . . . . . . . : 10.1.1.19
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 10.1.1.1

以太网适配器 蓝牙网络连接:

   媒体状态  . . . . . . . . . . . . : 媒体已断开连接
   连接特定的 DNS 后缀 . . . . . . . :