직렬 포트에서 데이터를 읽습니다. 나는이 글을 읽었다 : http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/a709d698-5099-4e37-9e10-f66ff22cdd1e직렬 포트에서 읽을 때 인코딩을 적용하는 방법
그는 내가 겪어 본 많은 이슈에 대해 글을 쓰고있다.하지만 글을 쓸 때는 System.Text.Encoding.GetEncoding ("Windows-1252")를 사용한다. 내가 가지고있는 문제는 이것을 적용하는시기와 방법입니다. 내 견해로는 세 가지 사실이 있습니다.
private SerialPort comport = new SerialPort();
이벤트 핸들러 :
comport.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
또는 데이터를 읽을 때 :
string data = comport.ReadExisting();
내가 추가 아무리을 직렬 포트 개체 정의됩니다. 나는 실수를하는 것 같다. Encoding은 어떻게 사용합니까?
이 메서드는 이벤트 처리기로도 작동합니까? 지금 당장 직렬 포트를 인스턴스화하고 이벤트 핸들러를 생성하기 때문에. 해당 이벤트 처리기는 ReadExisting이 포함 된 메서드를 호출합니다. 이 방법은 어떻게 적합할까요? – rross
@rross : 예,이 방법은 기존 port_DataReceived 메소드를 대체합니다. 이는 사실상 다른 답변과 같은 해결책입니다. 단,이 방법은 이전에 설정된 기본 인코딩에 의존하는 것이 아니라 매번 원하는 인코딩을 사용합니다. 하나는 6 분의 1, 다른 하나는 6 분의 1입니다 :) – MusiGenesis
플러스, 다른 대답은 컴파일되지 않습니다. :) – MusiGenesis