gitee.com/quant1x/gox@v1.7.6/fastjson/util.go (about)

     1  package fastjson
     2  
     3  import (
     4  	"reflect"
     5  	"unsafe"
     6  )
     7  
     8  func b2s(b []byte) string {
     9  	return *(*string)(unsafe.Pointer(&b))
    10  }
    11  
    12  func s2b(s string) []byte {
    13  	strh := (*reflect.StringHeader)(unsafe.Pointer(&s))
    14  	var sh reflect.SliceHeader
    15  	sh.Data = strh.Data
    16  	sh.Len = strh.Len
    17  	sh.Cap = strh.Len
    18  	return *(*[]byte)(unsafe.Pointer(&sh))
    19  }
    20  
    21  const maxStartEndStringLen = 80
    22  
    23  func startEndString(s string) string {
    24  	if len(s) <= maxStartEndStringLen {
    25  		return s
    26  	}
    27  	start := s[:40]
    28  	end := s[len(s)-40:]
    29  	return start + "..." + end
    30  }