Golang重编码

使用Golang搬砖时,可能会遇到字符需要重编码的情况。

[]byte -> String HEX

比如用在SHA256中,计算完成的结果是byte数组类型,然而返回到客户端需要使用UTF-8编码,同时要转换成16进制的字符表示方式

src := []byte("Hello")
encodedStr := hex.EncodeToString(src)

String HEX -> []byte

和上面的相反

test, _ := hex.DecodeString(encodedStr)
fmt.Println(bytes.Compare(test, src))

string -> int

“12345”字符串转换为int类型的12345

int, err := strconv.Atoi(string)

string -> int64

同上,只是数据类型不同而已

int64, err := strconv.ParseInt(string, 10, 64)

int -> string

同上,相反

string := strconv.Itoa(int)

int64 -> string

同上

string := strconv.FormatInt(int64,10)