diff --git a/utils/strconv.go b/utils/strconv.go index ccd714f..4a2f526 100644 --- a/utils/strconv.go +++ b/utils/strconv.go @@ -6,16 +6,17 @@ import ( ) func StringToBytes(s string) []byte { - return *(*[]byte)(unsafe.Pointer( - &struct { - string - Cap int - }{s, len(s)}, - )) + if len(s) == 0 { + return nil + } + return unsafe.Slice(unsafe.StringData(s), len(s)) } func BytesToString(b []byte) string { - return *(*string)(unsafe.Pointer(&b)) + if len(b) == 0 { + return "" + } + return unsafe.String(unsafe.SliceData(b), len(b)) } func B64Decode(s string) ([]byte, error) {