Skip to content

Instantly share code, notes, and snippets.

@milesrout
Last active August 24, 2017 07:15
Show Gist options
  • Save milesrout/1264e8af3ce3b47200ca6f21a0b96bd9 to your computer and use it in GitHub Desktop.
Save milesrout/1264e8af3ce3b47200ca6f21a0b96bd9 to your computer and use it in GitHub Desktop.
Variable-length encoding of integers up to 64-bit integer encoding - worst case is an extra byte for numbers over 2^56. I plan to use this for string length-prefixing, so that's just never ever relevant.
0xxxxxxx 7
10xxxxxx xxxxxxxx 14
110xxxxx xxxxxxxx xxxxxxxx 21
1110xxxx xxxxxxxx xxxxxxxx xxxxxxxx 28
11110xxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 35
111110xx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 42
1111110x xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 49
11111110 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 56
11111111 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx 64
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment