看板 java 關於我們 聯絡資訊
一般我們寫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
neigence:剛才wiki一下 覺得utf-8應該不會有這問題 但big5嘛... 10/31 16:04
stupid0319:不可能出現newline放心好了..雙位元編碼一定是129之後 10/31 16:14
james732:http://ppt.cc/JB0Y 可以看一下衝碼問題那一段 10/31 17:03
wendly777:java通通都是轉成utf16在處理,所以不會遇到這個問題 10/31 21:56
wendly777:如果socket傳輸是用utf8,BufferedReader要指定utf8 10/31 22:00
wendly777:然後java會將utf8轉成utf16,之後內部處理都是utf16 10/31 22:03