[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [local‑first/Protocol](https://evolu.dev/docs/api-reference/common/local-first/Protocol) › encodeNumber

```ts
function encodeNumber(buffer: Buffer, number: number): void;
```

Defined in: [packages/common/src/local-first/Protocol.ts:1773](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/local-first/Protocol.ts#L1773)

Evolu uses MessagePack to handle all number variants except for
NonNegativeInt. For NonNegativeInt, Evolu provides more efficient encoding.