我正在使用VB.NET,我需要通過串行發送和接收數據字節。這一切都很好,直到我需要發送類似173.我使用子例程來發送一個字節,將一個輸入作爲一個整數,並將其轉換爲一個字符來打印它。vb.net串行端口字符編碼
Private Sub PrintByte(ByVal input As Integer)
serialPort.Write(Chr(input))
End Sub
,如果我嘗試
PrintByte(173)
還是真的任何超過127發送63.我認爲這是一個有點古怪,於是我擡起頭來的ASCII表,它似乎63個對應於?字符。所以我認爲發生的事情是VB.NET試圖將這個數字編碼成一個它不能識別的字符,所以它只是打印一個?
我應該使用什麼編碼,以及如何實現編碼更改?
你濫用字符串。您需要找出或決定用於溝通的二進制或文本編碼。 – SLaks