我有一些服务器端C#代码,用于序列化(除其他外)一些Unicode字符串(使用UTF8编码)。
在客户端,我想反序列化所有这些字符串。我能够反序列化它们并将它们存储为wstring
s。
但后来我听说Unicode字符串也可以存储在常规string
中。我还读到wstring
不可移植,因此应该避免。所以我想知道在我的情况下使用string
与wstring
有什么好处/缺点。
另外,我仍然不明白如何在常规string
变量中存储Unicode字符串。知道字符串是字符的向量,这听起来很奇怪。如何在char(8位类型)中存储任意字符? string::length()
会返回字符数或字节数吗?那么string::size()?
索引操作符会返回什么?