bson_append_utf8 - Man Page

Synopsis

#define BSON_APPEND_UTF8(b, key, val) \
   bson_append_utf8 (b, key, (int) strlen (key), val, (int) strlen (val))

bool
bson_append_utf8 (bson_t *bson,
                  const char *key,
                  int key_length,
                  const char *value,
                  int length);

Parameters

Description

The bson_append_utf8() <> function shall append a UTF-8 encoded string to bson​.

value MUST be valid UTF-8.

Some UTF-8 implementations allow for \0 to be contained within the string (excluding the termination \0​. This is allowed, but remember that it could cause issues with communicating with external systems that do not support it.

It is suggested to use modified UTF-8 which uses a 2 byte representation for embedded \0 within the string. This will allow these UTF-8 encoded strings to used with many libc functions.

Due to legacy behavior, passing NULL for value appends a null value, not a UTF8 value. To append a null value directly, prefer using bson_append_null() <>​.

Returns

Returns true if the operation was applied successfully. The function will fail if appending the value grows bson larger than INT32_MAX.

Author

MongoDB, Inc

Info

Sep 04, 2026 2.5.2 libbson