encode and decode function should work like PutVarint and ReadVarint in golang
encode and decode function should work like PutVarint and ReadVarint in golang