有效地表示缓冲区作为unicode字符串

时间:2015-04-30 10:16:19

标签: c++ windows string unicode formatting

我有一个随机缓冲区。 我需要将它编码为unicode字符串(utf16 LE。用作windows wide-char规范),因此它可以用作PWSTR。例如,当调用StringCchPrintfW

可能的解决方案是使用base64。但是为了使它成为一个unicode字符串,我必须在每个char之后添加一个零字节,这在空间上效率很低。

如果我只是打印缓冲区,它可能包含' \ 0'这将终止字符串,或者'%'这将影响格式化(可能是它可以被转义),或其他unicode字符,这将阻止它在格式化中使用。

生成将要打印的字符串并在最后解析它的代码将用C#编写,但缓冲区将在Windows C ++中用于格式化,然后写入文件。

0 个答案:

没有答案