Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
555 B
23 lines
555 B
package pq |
|
|
|
import ( |
|
"encoding/hex" |
|
"fmt" |
|
) |
|
|
|
// decodeUUIDBinary interprets the binary format of a uuid, returning it in text format. |
|
func decodeUUIDBinary(src []byte) ([]byte, error) { |
|
if len(src) != 16 { |
|
return nil, fmt.Errorf("pq: unable to decode uuid; bad length: %d", len(src)) |
|
} |
|
|
|
dst := make([]byte, 36) |
|
dst[8], dst[13], dst[18], dst[23] = '-', '-', '-', '-' |
|
hex.Encode(dst[0:], src[0:4]) |
|
hex.Encode(dst[9:], src[4:6]) |
|
hex.Encode(dst[14:], src[6:8]) |
|
hex.Encode(dst[19:], src[8:10]) |
|
hex.Encode(dst[24:], src[10:16]) |
|
|
|
return dst, nil |
|
}
|
|
|