我有一个随机缓冲区。 我需要将它编码为unicode字符串(utf16 LE。用作windows wide-char规范),因此它可以用作PWSTR。例如,当调用StringCchPrintfW
时可能的解决方案是使用base64。但是为了使它成为一个unicode字符串,我必须在每个char之后添加一个零字节,这在空间上效率很低。
如果我只是打印缓冲区,它可能包含' \ 0'这将终止字符串,或者'%'这将影响格式化(可能是它可以被转义),或其他unicode字符,这将阻止它在格式化中使用。
生成将要打印的字符串并在最后解析它的代码将用C#编写,但缓冲区将在Windows C ++中用于格式化,然后写入文件。