使用日文文本存储字符串并写入文件

Gur*_*sad 2 c++ unicode file-io encoding

我想将日文文本存储在字符串中并将其写入文件.我对编码完全不熟悉,而且C++中有很多数据类型,比如wchar_t和wstring,这对我来说很困惑.我怎样才能做到这一点?

我正在尝试创建一个格式良好的XML文件,其中一些CDATA内容是日语.

Wil*_*and 5

完全忽略宽字符串的复杂性和陷阱; 并确保使用UTF-8编码您正在处理的数据.

在C++中,UTF-8字符串可以像扩展的ASCII字符串一样处理; 除非你碰巧实际操纵它们(砍掉它们,计算字符,类似的东西).

如果你所关心的只是收集,存储和显示字符串,那就简单地说是可笑的.

(如果没有关于你工作环境的更多信息,就不可能确切地告诉你如何确保UTF-8-ness;但这确实超出了这个问题的范围.)

编辑:

回应关于您打算做什么的评论(编写XML文件):

特别是使用XML ; 它非常非常简单:

永远不要使用UTF-8!,或"N'DUUH!" 简而言之.

在XML中,ASCII平衡实际上 总是使得UTF-8是最节省空间的编码系统.

(也就是说,如果文档中的每个日文字符都可以用ASCII字符匹配,则UTF-8在空间方面与UTF-16完全一样有效.XML元素名称传统上是不必要的冗长,日语句子非常紧凑;当添加缩进时,日文文本几乎总是与ASCII相匹配.)