最近因为某些软件的风波
所以想自己写个连接PTT的软件
目前的写法是开一个新的Thread跑socket
socket = new Socket(host, port);
然后参考版上读取的方法
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
in.readLine();
不过编码一直出问题
(使用String S = new String(in.readLine().getBytes(),"BIG5");)
所以把他拆开来读取
byte[] data = in.readLine().getBytes();
for循环跑S+= Byte.toString(data[num]) + ",";
然后把他印出来
System.out.println(S);
然后就发现只要遇到中文字或全角符号他的编码就会变成-17 -65 -67(0xEF 0xBF 0xBD)
(甚至不是偶数的倍数到底是怎么回事)
想问问到底是我写的问题有问题还是我编码的方式不对