<分区>
看了很多关于编码的文章,最后我搞糊涂了!
我将我的困惑总结为两个问题:
stream
级别是否有任何编码
?我的意思是,设置stream
的encoding
有什么意义吗?还是流完全不知道编码?如果
streams
不知道encoding
,那么std::locale
和std 的主要目的是什么: :imbue
?
<分区>
看了很多关于编码的文章,最后我搞糊涂了!
我将我的困惑总结为两个问题:
stream
级别是否有任何编码
?我的意思是,设置 stream
的 encoding
有什么意义吗?还是流完全不知道编码?
如果 streams
不知道 encoding
,那么 std::locale
和 std 的主要目的是什么: :imbue
?
最佳答案
不,不是真的。尽管所有文件 I/O 操作都是通过 std::basic_filebuf<CharT>
执行的使用 std::codecvt<CharT, char, std::mbstate_t>
流中充满了语言环境的方面。
主要用途std::basic_ios::imbue
是使流以依赖于语言环境的方式格式化内容。例如小数分隔符、千位分隔符等。
关于c++ - 流级别的字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263899/