通过chcp 65001将cmd控制台编码设成UTF-8。
下面是我的程序,从系统输入流中读取数据。
byte[] b = new byte[1024];
int len = -1;
while ((len = System.in.read(b))!= -1){
System.out.println(len);
}
在Idea控制台输入,就很正常,一个中文占3个字节。可是CMD控制台设置chcp 65001之后怎么这么奇怪呢?
utf-8默认中文就是3个字节的,还有些繁体是4/5个字节的,别怀疑,就是对的