encoding - Redland RDF 中 URI 的字符串表示形式的字符编码是什么?

标签 encoding uri rdf utf redland

可以安全地假设 librdf_uri_as_string () 返回的字符串吗?使用UTF-8编码。或者也许ISO-Latin (带有额外的 URL 编码)?

我正在处理 librdf_model 中的 URI,该 URI 是使用 librdf_parser_parse_file_handle_into_model ()FILE * 读取的。如果我切换到 raptor_parser 会有帮助吗(也许还有 raptor_iostream 而不是 FILE *)? Raptor文档特别提到了 UTF-8。

librdf_parser 只是 raptor_parser 的包装器,因此答案是 UTF-8 吗?

最佳答案

librdf 如果比 Raptor 抽象一层。基本上,librdf 是一个应用程序级库,它将 Raptor、Rasqal 和 RDF 存储包装在一起。如果您在 librdf 级别上工作,那么您基本上应该只使用 librdf API,尽管到处都有一些漏洞抽象。

通常在 API 中,当您看到以 (const) unsigned char * 形式传入的字符串时,它始终是 UTF-8。只有一些标识符(例如语法名称)作为 (const) char * 传递,并且它们是 ASCII。

披露/警告:我是 Redland 项目的提交者,但近年来并没有积极参与这些项目。我曾经很了解内部结构,但我的内存力并不完美。

回答具体问题:

Is it safe to assume that strings returned by librdf_uri_as_string () use UTF-8 encoding.

是的。

Would it help if I switch to a raptor_parser (and perhaps raptor_iostream instead of FILE * as well)?

不,实际上没有什么区别。只是少了一些可以忽略不计的包装代码和略有不同的 API。

Is librdf_parser just a wrapper for raptor_parser and the answer is UTF-8 because of that?

是的。

关于encoding - Redland RDF 中 URI 的字符串表示形式的字符编码是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21024405/

相关文章:

objective-c - Objective-C 中的转义引号

encoding - 如何将整数编码为其他整数?

android - 为什么 uri 路径不适用于文件?

rdf - 如何查看 URL 的语义数据?

Android studio 无法识别 UTF-8 编码

c# - 在 C# 中使用 FTP 上传带有编码的文件

docker - 如何获取本地主机上的 docker 主机 URI

Java URLDecoder 特殊字符和 UTF-8

serialization - Apache Jena - 是否可以编写输出 BASE 指令?

extract - RDFa Reader提取工具