我需要修改我的程序以接受Unicode,这可能来自任何UTF-8和各种UTF-16和UTF-32编码.我对Unicode知之甚少(虽然我读过Joel Spolsky的文章和 维基百科页面).
现在,我使用的是std::istream
和阅读我的输入char
通过char
,然后存储(必要时)在std::string
.我想
修改这个(用很少的努力)来支持上面的编码,和
弄清楚如何测试上面的编码(我有点像白面包美国人,并且真的不知道如何用另一种编码制作样本文本文件),理想情况下
以跨平台的方式做到这一点.
另外,如果可能的话,我想尽可能地节省空间(所以如果我们不需要超过一个字节/字符,我们就不会使用它).根据我的理解,这意味着存储在UTF-8中,这很好,但我不知道这样做的标准字符串(根据我的理解,wchar_t
具有实现定义的大小和编码).