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.
		
		
		
		
		
			
		
			
				
					
					
						
							45 lines
						
					
					
						
							829 B
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							45 lines
						
					
					
						
							829 B
						
					
					
				| package util | |
| 
 | |
| // big endian | |
|  | |
| func BytesToUint64(b []byte) (v uint64) { | |
| 	length := uint(len(b)) | |
| 	for i := uint(0); i < length-1; i++ { | |
| 		v += uint64(b[i]) | |
| 		v <<= 8 | |
| 	} | |
| 	v += uint64(b[length-1]) | |
| 	return | |
| } | |
| func BytesToUint32(b []byte) (v uint32) { | |
| 	length := uint(len(b)) | |
| 	for i := uint(0); i < length-1; i++ { | |
| 		v += uint32(b[i]) | |
| 		v <<= 8 | |
| 	} | |
| 	v += uint32(b[length-1]) | |
| 	return | |
| } | |
| func BytesToUint16(b []byte) (v uint16) { | |
| 	v += uint16(b[0]) | |
| 	v <<= 8 | |
| 	v += uint16(b[1]) | |
| 	return | |
| } | |
| func Uint64toBytes(b []byte, v uint64) { | |
| 	for i := uint(0); i < 8; i++ { | |
| 		b[7-i] = byte(v >> (i * 8)) | |
| 	} | |
| } | |
| func Uint32toBytes(b []byte, v uint32) { | |
| 	for i := uint(0); i < 4; i++ { | |
| 		b[3-i] = byte(v >> (i * 8)) | |
| 	} | |
| } | |
| func Uint16toBytes(b []byte, v uint16) { | |
| 	b[0] = byte(v >> 8) | |
| 	b[1] = byte(v) | |
| } | |
| func Uint8toBytes(b []byte, v uint8) { | |
| 	b[0] = byte(v) | |
| }
 |