printf函数将字符串打印到控制台上的编解码问题
来源:9-10 宽字符串与窄字符串的转换

wxz123
2021-01-31
老师,最近问题有点多哈 〒▽〒
1、使用printf函数将字符串打印到控制台上,是不是就是printf函数把字符串encoding成字节存到内存中,控制台再将内存中的字节decoding成字符串打印出来的过程,这么理解对吗?
2、printf的encoding方式是和编译器有关吗?比如,msvc中的printf函数的encoding方式是gbk,mingw中的printf函数的encoding方式是utf8?
3、控制台的decoding方式和啥有关呢?是和操作系统有关吗,windows为gbk,linux为utf8这样?
4、控制台的decoding方式该怎么改呢?
写回答
4回答
-
问题多不怕,回头给个好评就成( ͡° ͜ʖ ͡°)✧
1. printf 打印的已经是编码之后的字符串了,char * 是已经编码过的,控制台显示确实会再解码
022021-02-01 -
bennyhuo
2021-02-01
4. 这问题问google。
00 -
bennyhuo
2021-02-01
3. 默认如此,可以设置,windows好像命令是 chcp,你搜搜
00 -
bennyhuo
2021-02-01
2. 不是问题
00
相似问题