【发布时间】:2016-06-03 16:59:58
【问题描述】:
我正在尝试使用 yaml 发送二进制数据,即字节数组。根据 yaml 文档,Yaml Binary Type,这是支持的。在 Java 端,我使用 SnakeYaml,如果传递了 byte[] 的值,那么 yaml 会正确给出 !!binary。
YamlDotNet 似乎“开箱即用”不支持此功能。下面的代码 sn -p 创建一个整数值序列:
IDictionary<string, object> data = new Dictionary<string, object>();
const string value = ":| value: <XML> /n\n C:\\cat";
byte[] bytes = Encoding.UTF8.GetBytes(value);
data.Add(ValueKey, bytes);
// Turn the object representation into text
using (var output = new StringWriter())
{
var serializer = new Serializer();
serializer.Serialize(output, data);
return output.ToString();
}
输出如下:
val:\r- 58\r- 124\r- 32\r- 118\r- 97\r- 108\r- 117\r- 101\r- 58\r- 32\r- 60\r- 88\r- 77\r- 76\r- 62\r- 32\r- 47\r- 110\r- 10\r- 32\r- 67\r- 58\r- 92\r- 99\r- 97\r- 116\r
但我想要更多类似的东西:
val: !!binary |-
OnwgdmFsdWU6IDxYTUw+IC9uCiBDOlxjYXQ=
谁能推荐一个解决方法?
【问题讨论】:
标签: yamldotnet