Какова кодировка символов для строковых представлений URI в Redland RDF?

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

Вопрос

Можно ли предположить, что строки, возвращаемые librdf_uri_as_string () используйте кодировку UTF-8.Или это возможно ISO-латиница (с дополнительной кодировкой URL)?

Я имею дело с URI в librdf_model это было прочитано с librdf_parser_parse_file_handle_into_model () из FILE *.Поможет ли мне переключиться на raptor_parser (и, возможно raptor_iostream вместо FILE * также)?А Раптор в документации конкретно упоминается UTF-8.

Является librdf_parser просто обертка для raptor_parser и поэтому ответ UTF-8?

Это было полезно?

Решение

librdf, если уровень абстракции на один выше, чем у Raptor.По сути, librdf — это библиотека уровня приложения, которая объединяет хранилища Raptor, Rasqal и RDF.Если вы работаете на уровне librdf, вам следует использовать только API-интерфейсы librdf, хотя здесь и там есть некоторые дырявые абстракции.

Обычно в API, когда вы видите строки, передаваемые как (const) unsigned char *, это UTF-8 полностью.Только некоторые идентификаторы, такие как имена синтаксиса, передаются как (const) char * и они ASCII.

Раскрытие информации/предостережение:Я участвую в проектах Redland, но в последние годы активно над ними не работал.Раньше я хорошо знал внутренности, но память у меня не идеальна.

Чтобы ответить на конкретные вопросы:

Можно ли предположить, что строки, возвращаемые librdf_uri_as_string () используйте кодировку UTF-8.

Да.

Поможет ли мне переключиться на raptor_parser (и, возможно raptor_iostream вместо FILE * также)?

Нет, разницы практически нет.Просто незначительное количество меньшего количества кода-обертки и немного другой API.

Является librdf_parser просто обертка для raptor_parser и поэтому ответ UTF-8?

Да.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top