none
VC中,传入库函数的字符串必须是UTF-16的wchar_t或GBK编码的char吗? RRS feed

  • 问题

  • 比如:

    ofstream os;

    os.open(fileName);

    填入的fileName是否必须是GBK编码?是不是无法识别UTF-8编码的字符串?

    2017年7月29日 4:52

全部回复

  • Hi srhouyu,

    感谢在MSDN论坛发帖。

    >>VC中,传入库函数的字符串必须是UTF-16的wchar_t或GBK编码的char吗?

    UTF-8是能够对所有可能的Unicode代码点进行编码的字符编码。而GBK是中华人民共和国使用的简体汉字GB2312字符集的扩展。他俩并不矛盾。在我看来,c++库函数的参数对字符串编码并无特殊要求。它支持各种类型的编码格式。例如我在vs2017上的测试。

    这里有篇文档,你也可以通过这篇文档描述的内容进行测试。

    https://msdn.microsoft.com/en-us/library/69ze775t.aspx

    希望对你有所帮助。

    Best Regards,

    Sera Yu


    MSDN Community Support<br/> Please remember to click &quot;Mark as Answer&quot; the responses that resolved your issue, and to click &quot;Unmark as Answer&quot; if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact <a href="mailto:MSDNFSF@microsoft.com">MSDNFSF@microsoft.com</a>.

    2017年7月31日 2:21
  • 是的,必须是unicode或ansi,不能是utf8。这个倒不是std库不支持,而是windows不支持。
    2017年7月31日 4:33