UTF-8
Codificação
Libbson espera que você esteja sempre trabalhando com texto codificado em UTF-8 . Qualquer outra coisa é uso inválido da API.
Se precisar percorrer as sequências UTF-8 , você pode usar as várias funções auxiliares de UTF-8 distribuídas com o Libbson.
Validando uma sequência UTF-8
Para validar a string contida em my_string
, use o seguinte. Você pode passar -1
para o comprimento da string se souber que a string tem terminação NULL.
if (!bson_utf8_validate (my_string, -1, false)) { printf ("Validation failed.\n"); }
Se my_string
tiver bytes NULL dentro da string, você deverá fornecer o comprimento da string. Use o seguinte formato. Observe o true
no final indicando que \0
é permitido.
if (!bson_utf8_validate (my_string, my_string_len, true)) { printf ("Validation failed.\n"); }
Para obter mais informações, consulte a referência da API para bson_utf8_validate.