windows系統(tǒng)
java語言
讀取cvs表格文件時(shí),獲取第一個(gè)字符用來比較
cvsStr = "主題"
javaStr = "主題"
出現(xiàn)? cvsStr.equals(javaStr.trim()) ?的結(jié)果為 false
調(diào)試時(shí)發(fā)現(xiàn),兩個(gè)字符串都是主題,且在光標(biāo)移動時(shí),發(fā)現(xiàn)光標(biāo)下的長度都為2。
這個(gè)時(shí)候,抹一抹你的眼睛,發(fā)現(xiàn),再仔細(xì)看光標(biāo),發(fā)現(xiàn),長度依舊都是2.
在Eclipse的斷點(diǎn)調(diào)試變量區(qū)(Variables)里面,發(fā)現(xiàn),他們的長度真特么是不同的。 cvsStr的length為3!!!
這個(gè)時(shí)候,你可以這樣? System.out.pring(? (int)cvsStr.charAt(0))? 輸出第一個(gè)位置的ASCII碼。
發(fā)現(xiàn)ASCII碼為 65279 ?,我靠,原來還有字符串即不輸出空格,也不顯示的。這個(gè)就是微軟對UTF-8文件做了bom標(biāo)記的問題。