buf---hex的转换很常见, 来用go练练手:
package main
import (
"fmt"
"encoding/hex"
)
func main(){
sli := []byte("abc")
str := hex.EncodeToString(sli)
fmt.Printf("%T\n", sli)
fmt.Printf("%T\n", str)
fmt.Println(sli)
fmt.Println(str)
sli2, _ := hex.DecodeString(str)
fmt.Printf("%T\n", sli2)
fmt.Println(sli2)
str2 := fmt.Sprintf("%s", sli2)
fmt.Printf("%T\n", str2)
fmt.Println(str2)
fmt.Println(string(sli2))
fmt.Println([]byte(str2))
}
结果:
[]uint8
string
[97 98 99]
616263
[]uint8
[97 98 99]
string
abc
abc
[97 98 99]
貌似用 %x更简单, 自己玩吧。