可能标题有点难以理解,举个栗子说明一下:
输入的字符串:"3156EF"
转换后需要的结果 :0x31、0x56、0xEF
由于项目中有对数据格式的要求,输入的数据为16进制的字符串,最终需要保持为16进制的数据,作为笔记来记录一下。
经过查询,发现encoding/hex包中的func DecodeString(s string) ([]byte, error)和func EncodeToString(src []byte) string 函数可以进行相互转换,而且很容易实现此功能。具体见代码:
func main() {
strData := "3156EF"
// 将HEX编码的字符串转换为HEX数据
data1, _ := hex.DecodeString(strData)
for n,v:=range data1{
fmt.Printf("strData[%d]值十进制为:%v , 16进制为:%#X n",n,v,v)
}
// 将HEX数据转换为HEX编码的字符串
fmt.Printf("strsdata = %v n",hex.EncodeToString(data1))
}
// 显示的结果



