首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么C++ std::string可以支持日语、法语字符?

为什么C++ std::string可以支持日语、法语字符?
EN

Stack Overflow用户
提问于 2018-12-17 20:17:00
回答 1查看 614关注 0票数 3

以前我认为ASCII::string只能支持C++字符集。对于其他字符集,例如法语、日语字符,将需要编码例如UTF-8/UTF-16。

我刚刚尝试了下面的代码,看起来C++ std::string已经支持日语和法语了。Guess还支持所有其他语言。

这怎么会发生呢?这是否意味着我们只需要std::string来处理所有人类语言?

代码语言:javascript
复制
string s;

s = "今年1年の世相を4字で振り返る恒例の「創作四字熟語」の優秀・入選50作品を発表した";

string t;

t = "Vélo, sac, appareil photo: bleu en un «Klein» d'œil pour Noël";

cout<<s<<'\n';

cout<<t<<'\n';

输出:

今年1年の世相を4字で振り返る恒例の“創作四字熟語”の優秀·入選50作品を発表した

Vélo,sac,服装照片: bleu en un«Klein»d'œil pour Noël

EN

回答 1

Stack Overflow用户

发布于 2018-12-17 20:24:17

std::string可以支持任意字节流,包括UTF-8,这就是您在这里看到的。在输入端,您的编译器显然支持它,而在输出端,您的终端程序支持它。

如果您在代码中假设std:: string中的一个char对应于屏幕上的一个字符,则可能会出现问题。但UTF-8并非如此,您可能已经知道了。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53815082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档