作者neigence ()
站内java
标题[问题] 中文字有没有可能出现 newline ??
时间Sun Oct 31 15:34:55 2010
一般我们写socket程式 很容易喜欢用newline 来当命令间的间格
伺服器端很有可能这样写(pesudo code)
BufferedReader br;
while(String str = br.readline()){
Commander.execute(str);
}
另外提到中文字 不论用big5 或者是 utf8,中文字都是由多个byte组合而成
会不会有一个问题是 某个中文字的其中一个byte是 ascii的10号(也就是newline)
进而导至bufferedreader以\n来切而切错
如果有这样的问题 该如何解决呢??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.115.136.152
1F:→ neigence:刚才wiki一下 觉得utf-8应该不会有这问题 但big5嘛... 10/31 16:04
2F:→ stupid0319:不可能出现newline放心好了..双位元编码一定是129之後 10/31 16:14
4F:→ wendly777:java通通都是转成utf16在处理,所以不会遇到这个问题 10/31 21:56
5F:→ wendly777:如果socket传输是用utf8,BufferedReader要指定utf8 10/31 22:00
6F:→ wendly777:然後java会将utf8转成utf16,之後内部处理都是utf16 10/31 22:03