package fastjson import ( "reflect" "unsafe" ) func b2s(b []byte) string { return *(*string)(unsafe.Pointer(&b)) } func s2b(s string) []byte { strh := (*reflect.StringHeader)(unsafe.Pointer(&s)) var sh reflect.SliceHeader sh.Data = strh.Data sh.Len = strh.Len sh.Cap = strh.Len return *(*[]byte)(unsafe.Pointer(&sh)) } const maxStartEndStringLen = 80 func startEndString(s string) string { if len(s) <= maxStartEndStringLen { return s } start := s[:40] end := s[len(s)-40:] return start + "..." + end }