我在問我是否錯誤地使用了SerialPort.Write()。我敢肯定我沒有,但你永遠不知道...SerialPort.Write(byte [],int,int)的文檔是否有誤導性?
的文檔SerialPort.Write(byte[], int, int)狀態:
默認情況下,使用的SerialPort到ASCIIEncoding編碼字符。 ASCIIEncoding將大於127的所有字符編碼爲(char)63或 '?'。要支持該範圍內的其他字符,請將編碼設置爲 UTF8Encoding,UTF32Encoding或UnicodeEncoding。
這與SerialPort.Write(string)和SerialPort.Write(char[], int, int)的文檔中的註釋完全相同。
多年來一直如此,但我從未真正注意過它。我一直很樂意使用SerialPort.Write(byte[], int, int)
發送值高於0x7f的二進制數據。我感到奇怪的是,發送字節數組的東西的文檔正在談論字符。
這僅僅是我,還是在那裏的文檔有點不對?
在我看來,備註應該只在這些方法的'char []'和'string'重載。 – CodeCaster 2013-02-28 09:31:00
是的,我在想複製粘貼錯誤。但偶爾我會意識到自己多年來一直在做錯事,我靠運氣逃避了。 – 2013-02-28 09:33:09
我同意CodeCaster,正如你所說的,它可能只是MS上的一個複製粘貼錯誤。 – dbasnett 2013-03-01 15:21:25