diff options
| author | chrislusf <chris.lu@gmail.com> | 2016-04-08 15:52:03 -0700 |
|---|---|---|
| committer | chrislusf <chris.lu@gmail.com> | 2016-04-08 15:52:03 -0700 |
| commit | 5d100994b1b9c6679113c8dd73f97aff85397f02 (patch) | |
| tree | 8bf46caa1396bbb88d103789b6aadcec709f0dbc /go/util/bytes.go | |
| parent | a87fe8ffcec7a5210bf97301e2951eea51a0a0ec (diff) | |
| download | seaweedfs-5d100994b1b9c6679113c8dd73f97aff85397f02.tar.xz seaweedfs-5d100994b1b9c6679113c8dd73f97aff85397f02.zip | |
Revert "Merge pull request #281 from thinxer/binary"
This reverts commit a87fe8ffcec7a5210bf97301e2951eea51a0a0ec, reversing
changes made to 6876bfa68524d4fc0a961f89dc29e53fbc654ea5.
Diffstat (limited to 'go/util/bytes.go')
| -rw-r--r-- | go/util/bytes.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/go/util/bytes.go b/go/util/bytes.go new file mode 100644 index 000000000..dfa4ae665 --- /dev/null +++ b/go/util/bytes.go @@ -0,0 +1,45 @@ +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) +} |
