cout为何能处理汉字?
cout是ANSI版的,它处理字符串应该是以字节为单位的,而一个汉字占2个字节,cout竟然能正常输出汉字?
另:前段时间在c++代码里面把汉字直接打包成二进制数据,通过socket发给别人,然后别人问我用的是发来的消息用的是什么编码?我茫然了,说是ansi吧,但是发过去的汉字,别人输出是乱码,说是宽字节的吧,但程序中确实不是用宽字节来处理的。如果对方用的是c++,直接输出,倒也能正常显示,但人家用的是java,输出是乱码。
求大神指教。 c++ 汉字
[解决办法]
java默认用的是unicode, 而cout输出的文字,如果你在程序中转过码,那么你发的消息的编码就是你那个代码文件的编码。查看文件的编码,linux下可以使用file命令来看。使用iconv命令可以为你的文件转码。你试下把你的代码源文件转成utf-8的,重编译程序。然后再发给人家
[解决办法]
学习了。这个平时还真没注意,
[解决办法]