在Excel中使用winsock接收客戶端發送過來的資料,其他資料都正常,只有一個自己,只要大于80,就會變為3F,不知道什么原因,請各位大神幫幫我這個小白。
wsTCP.GetData sRec
Sheet1.Range("B3").Value = Han2Hex(sRec)
uj5u.com熱心網友回復:
看你的Han2Hex 是什么一個邏輯咯超過80出問題,基本上就因為80實際上是二進制1000 0000,最高位開始都是1了,如果這個bit當做數字處理還是當做符號位處理就有差異了
uj5u.com熱心網友回復:
樓主是按“文本”方式處理這些位元組資料的吧?uj5u.com熱心網友回復:
wsTCP.GetData 后面用Byte陣列型別的變數來接收,如果用的string變數,大于7F的時候就會出問題uj5u.com熱心網友回復:
3F 是 '?' 的 ASCII 碼。當你使用 String 時,其中無法識別的字符就被系統用 '?' 替換。如果有非可列印字符的位元組,用 Byte 型陣列處理。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/43632.html
標籤:VBA
