1. 程式人生 > >C# receive 接收的字串 對比不相等的問題

C# receive 接收的字串 對比不相等的問題

背景:

  最近寫了一個C/S架構的 C# Socket 通訊專案,服務端,客戶端弄通了之後,客戶端傳送給服務端後,服務端回覆一個字串告訴客戶端確認收到了。問題就在這。

問題:

  一開始,我讓服務端回覆了一個拉阿伯數字9,客戶端通過byte(一個位元組)陣列接收後轉換成UTF8的string字串,和客戶端宣告的字串“9”對比,然後寫入日誌的時候,發現都正常傳送了,但是日誌記錄的全是失敗,就意味著對比的時候全是false,我就鬱悶了,查了查資料,有的說是編碼問題,我於是把客戶端宣告的字串也轉成了UTF8的字串,但是對比還是false,debug追蹤下來,兩個字串全是“9”,沒發現什麼不一樣,然而對比結果就是false。對比byte也是false。後來把“9”改成了字母“a”,結果就正確了。由於本人是Java開發,C#才剛練手不久,也沒弄懂,在此記錄一下,希望大神能給指點一下。