[問題] 中文字有沒有可能出現 newline ??

看板java作者時間13年前 (2010/10/31 15:34), 編輯推噓0(006)
留言6則, 4人參與, 最新討論串1/1
一般我們寫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

10/31 16:04, , 1F
剛才wiki一下 覺得utf-8應該不會有這問題 但big5嘛...
10/31 16:04, 1F

10/31 16:14, , 2F
不可能出現newline放心好了..雙位元編碼一定是129之後
10/31 16:14, 2F

10/31 17:03, , 3F
http://ppt.cc/JB0Y 可以看一下衝碼問題那一段
10/31 17:03, 3F

10/31 21:56, , 4F
java通通都是轉成utf16在處理,所以不會遇到這個問題
10/31 21:56, 4F

10/31 22:00, , 5F
如果socket傳輸是用utf8,BufferedReader要指定utf8
10/31 22:00, 5F

10/31 22:03, , 6F
然後java會將utf8轉成utf16,之後內部處理都是utf16
10/31 22:03, 6F
文章代碼(AID): #1CpHmXV8 (java)