bson_append_utf8()¶
Synopsis¶
bool
bson_append_utf8 (bson_t *bson,
const char *key,
int key_length,
const char *value,
int length);
Parameters¶
bson
: A bson_t.key
: An ASCII C string containing the name of the field.key_length
: The length ofkey
in bytes, or -1 to determine the length withstrlen()
.value
: A UTF-8 encoded string.length
: The number of bytes invalue
excluding the trailing\0
, or -1 to determine the length withstrlen()
.
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.
Returns¶
true if the operation was applied successfully, otherwise false and bson
should be discarded.