如何使用 yaml-cpp 发出和解析原始二进制数据

Dmi*_*riy 5 yaml-cpp

是否可以发出和读取(解析)二进制数据(图像、文件等)?如下所示: http: //yaml.org/type/binary.html 如何在 yaml-cpp 中执行此操作?

Jes*_*der 5

修订版 425开始,是的!(用于发射)

YAML::Emitter emitter;
emitter << YAML::Binary("Hello, World!", 13);
std::cout << emitter.c_str();
Run Code Online (Sandbox Code Playgroud)

输出

--- !!binary "SGVsbG8sIFdvcmxkIQ=="
Run Code Online (Sandbox Code Playgroud)

语法是

YAML::Binary(const char *bytes, std::size_t size);
Run Code Online (Sandbox Code Playgroud)

我不确定如何传递字节数组:char不一定是一个字节,所以我不确定该算法的可移植性如何。您的字节数组通常采用什么格式?

(问题是它还uint8_t不是标准的 C++,所以我对使用它有点担心。)

至于解析,yaml-cpp肯定会把数据解析为字符串,但是还没有解码算法。