流级别的字符编码

Character encoding at stream level

本文关键字:字符 编码      更新时间:2023-10-16

读了很多关于编码的文章,我终于弄糊涂了
我把我的困惑归纳为两个问题:

  1. 是否有encoding处于stream级别?我的意思是,设置streamencoding有什么意义吗?或者流完全不知道编码?

  2. 如果streams不知道encoding,那么std::localestd::imbue的主要目的是什么?

  1. 不,不是真的。尽管通过std::basic_filebuf<CharT>执行的所有文件I/O操作都使用流中包含的区域设置的std::codecvt<CharT, char, std::mbstate_t>方面。

  2. std::basic_ios::imbue的主要目的是使流以区域设置相关的方式格式化内容。例如十进制分隔符、千位分隔符等等。