[工具] 1個byte的影響

看板java作者 (老子我最神)時間9年前 (2015/12/18 20:34), 9年前編輯推噓4(4011)
留言15則, 9人參與, 最新討論串1/2 (看更多)
是這樣的,昨天開發的程式出現了一個 bug 在 local 端手動測試功能完全正常 但是在 staging 環境手動測試與我自己寫的整合測試結果都是不正常的 (fail) 結果我 debug 一整天 查了相關文件,看了教學 blog,查詢 Stack Overflow 仍沒有任何收穫 最後查到原因了 程式碼的有一行看起來像這樣 this.xbox = "todayIsFriday"; 我印出 xbox 的 log 也是 "todayIsFriday" 但實際上 I 與 s 之間似乎夾雜了一個雜訊 (也許是一個byte) 也就是說,如果你把指標移到 I 跟 s 中間,並且按下 ←,這個雜訊就會被消除, 程式就可以正常運作了 會發現這個原因是因為我剛好複製了這個字串 然後又讓 System.out.print 去印出來,才看到亂碼並發現這件事 (就算用 log 間接印出在 console 仍看不出亂碼) 請問這種 case 有辦法用工具檢查出來嗎? 還是各位有甚麼撇步可以快速找到亂碼? 還是,這是電腦問題? (我電腦曾經突然重開機讓後編輯中的檔案整個死掉) 該換電腦了嗎? 我早就想換了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.192.133 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1450442076.A.235.html

12/18 21:15, , 1F
版本控制工具的 diff 沒有顯示出來?
12/18 21:15, 1F

12/18 21:29, , 2F
diff 沒試過耶,這是我本機剛新開發的功能。
12/18 21:29, 2F

12/18 21:30, , 3F
晚點去看看
12/18 21:30, 3F
我用的版控工具是 SourceTree, diff 檔案看不出來 然後有件事情我說錯了 剛剛仔細測試後發現 System.out.print 也看不出來,是用 URI Encoding 才看得出來 因為用的 lib 要在系統顯示出完整內容是直接用 print(), 所以誤以為沒處理就直接 print 以下是程式碼 http://i.imgur.com/PyionkB.jpg
程式結果 http://i.imgur.com/qVHzfGd.jpg
另外 記事本 看不出來 notepad++ 看不出來 sourceTree diff 看不出來 gmail 信件 看不出來 eclipse 看不出來 STS 看不出來 剛剛發現,貼到 PTT 就看得出來了,s會被吃掉 ※ 編輯: cyclone350 (123.193.192.133), 12/18/2015 23:07:06

12/18 23:35, , 4F
你用charAt然後轉成int一個一個字元印出來看看,我猜是非
12/18 23:35, 4F

12/18 23:35, , 5F
顯示字元
12/18 23:35, 5F

12/19 00:03, , 6F
EFBBBF,不就UTF-8的BOM
12/19 00:03, 6F

12/19 13:34, , 7F
有點妙 你怎麼生出那個s的
12/19 13:34, 7F

12/21 13:31, , 8F
這個我有遇過...不過我那個是換行符號..情形類似
12/21 13:31, 8F

12/21 16:23, , 9F
VT100 ?
12/21 16:23, 9F

12/23 22:02, , 10F
這個東西是甚麼我並不在意,可能是 ssccg 說的 BOM
12/23 22:02, 10F

12/23 22:03, , 11F
也許是複製貼上時貼到的,但是我總不能跟大家說:
12/23 22:03, 11F

12/23 22:04, , 12F
[嘿,請大家在寫程式時隨時按左右來檢查有沒有奇怪字
12/23 22:04, 12F

12/23 22:05, , 13F
元喔~ ]
12/23 22:05, 13F

12/26 09:48, , 14F
轉hex字串檢查
12/26 09:48, 14F

12/27 10:02, , 15F
貼到PTT檢查是哪招 XDDDDD 厲害
12/27 10:02, 15F
文章代碼(AID): #1MS_rS8r (java)
討論串 (同標題文章)
文章代碼(AID): #1MS_rS8r (java)