2011-12-25 05:30:57 +00:00
|
|
|
package util
|
2011-12-16 14:51:26 +00:00
|
|
|
|
2011-12-20 09:00:01 +00:00
|
|
|
func BytesToUint64(b []byte)(v uint64){
|
|
|
|
length := uint(len(b))
|
|
|
|
for i :=uint(0);i<length-1;i++ {
|
2011-12-16 14:51:26 +00:00
|
|
|
v += uint64(b[i])
|
|
|
|
v <<= 8
|
|
|
|
}
|
2011-12-20 09:00:01 +00:00
|
|
|
v+=uint64(b[length-1])
|
2011-12-16 14:51:26 +00:00
|
|
|
return
|
|
|
|
}
|
2011-12-20 09:00:01 +00:00
|
|
|
func BytesToUint32(b []byte)(v uint32){
|
|
|
|
length := uint(len(b))
|
|
|
|
for i :=uint(0);i<length-1;i++ {
|
2011-12-16 14:51:26 +00:00
|
|
|
v += uint32(b[i])
|
|
|
|
v <<= 8
|
|
|
|
}
|
2011-12-20 09:00:01 +00:00
|
|
|
v+=uint32(b[length-1])
|
2011-12-16 14:51:26 +00:00
|
|
|
return
|
|
|
|
}
|
2011-12-20 09:00:01 +00:00
|
|
|
func Uint64toBytes(b []byte, v uint64){
|
2011-12-16 14:51:26 +00:00
|
|
|
for i :=uint(0);i<8;i++ {
|
2011-12-20 09:00:01 +00:00
|
|
|
b[7-i] = byte(v>>(i*8))
|
2011-12-16 14:51:26 +00:00
|
|
|
}
|
|
|
|
}
|
2011-12-20 09:00:01 +00:00
|
|
|
func Uint32toBytes(b []byte, v uint32){
|
2011-12-16 14:51:26 +00:00
|
|
|
for i :=uint(0);i<4;i++ {
|
2011-12-20 09:00:01 +00:00
|
|
|
b[3-i] = byte(v>>(i*8))
|
2011-12-16 14:51:26 +00:00
|
|
|
}
|
|
|
|
}
|
2012-12-21 10:13:02 +00:00
|
|
|
func Uint8toBytes(b []byte, v uint8){
|
|
|
|
b[0] = byte(v)
|
|
|
|
}
|
2011-12-16 14:51:26 +00:00
|
|
|
|