varints
Реализация кодирования целых чисел переменной длины, вдохновленная SQLite.
Нестабильный API.
Постоянные значения
maxVarIntLen = 9
- максимальное количество байтов, которое может занимать varint Исходный код Редактировать
Процедуры
proc readVu64(z: openArray[byte]; pResult: var uint64): int {...}{.raises: [], tags: [].}- Исходный код Редактировать
proc writeVu64(z: var openArray[byte]; x: uint64): int {...}{.raises: [], tags: [].}- Записать varint в z. Буфер z должен иметь длину не менее 9 символов для размещения самого большого возможного varint. Возвращает количество используемых байтов. Исходный код Редактировать
proc encodeZigzag(x: int64): uint64 {...}{.inline, raises: [], tags: [].}- Исходный код Редактировать
proc decodeZigzag(x: uint64): int64 {...}{.inline, raises: [], tags: [].}- Исходный код Редактировать
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/varints.html