| 123456789101112131415161718192021222324 |
- package utl
- import(
- "reflect"
- "unsafe"
- )
- func StringToBytes(s string) []byte {
- sh := (*reflect.StringHeader)(unsafe.Pointer(&s))
- bh := reflect.SliceHeader{
- Data: sh.Data,
- Len: sh.Len,
- }
- return *(*[]byte)(unsafe.Pointer(&bh))
- }
- func BytesToString(b []byte) string {
- bh := (*reflect.SliceHeader)(unsafe.Pointer(&b))
- sh := reflect.StringHeader{
- Data: bh.Data,
- Len: bh.Len,
- }
- return *(*string)(unsafe.Pointer(&sh))
- }
|