Quel est le codage des caractères pour les représentations sous forme de chaîne des URI dans Redland RDF ?

StackOverflow https://stackoverflow.com//questions/21024405

Question

Est-il prudent de supposer que les chaînes renvoyées par librdf_uri_as_string () utilisez le codage UTF-8.Ou est-ce peut-être ISO-latin (avec encodage d'URL supplémentaire) ?

Je traite des URI dans un librdf_model qui a été lu avec librdf_parser_parse_file_handle_into_model () de FILE *.Est-ce que ça aiderait si je passais à un raptor_parser (et peut-être raptor_iostream au lieu de FILE * aussi)?Le Rapace la documentation mentionne spécifiquement UTF-8.

Est librdf_parser juste un emballage pour raptor_parser et la réponse est UTF-8 à cause de ça ?

Était-ce utile?

La solution

librdf si un niveau d'abstraction est supérieur à celui de Raptor.Fondamentalement, librdf est une bibliothèque au niveau de l'application qui regroupe les stockages Raptor, Rasqal et RDF.Si vous travaillez au niveau librdf, vous devriez essentiellement utiliser uniquement les API librdf, bien qu'il y ait quelques abstractions qui fuient ici et là.

Généralement dans l'API, lorsque vous voyez des chaînes transmises comme (const) unsigned char *, c'est UTF-8 jusqu'au bout.Seuls certains identifiants tels que les noms de syntaxe sont transmis comme (const) char * et ils sont ASCII.

Divulgation/mise en garde :Je m'engage dans les projets Redland mais je n'y ai pas travaillé activement ces dernières années.Je connaissais bien les composants internes mais ma mémoire n'est pas parfaite.

Pour répondre aux questions spécifiques :

Est-il prudent de supposer que les chaînes renvoyées par librdf_uri_as_string () utilisez le codage UTF-8.

Oui.

Est-ce que ça aiderait si je passais à un raptor_parser (et peut-être raptor_iostream au lieu de FILE * aussi)?

Non, il n'y a pratiquement aucune différence.Juste une quantité négligeable de moins de code wrapper et une API légèrement différente.

Est librdf_parser juste un emballage pour raptor_parser et la réponse est UTF-8 à cause de ça ?

Oui.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top