Delphi 2010에 문제가 있습니다. PC에서 직렬 포트 (COM 포트)가있는 유니 코드 (16 비트) 문자를 프린터로 보내고 싶습니다. D2010에서 TCiaComPort 구성 요소를 사용합니다.Delphi 2010에서 직렬 포트로 유니 코드 문자 (16 비트)를 보내려면 어떻게해야합니까?
예를 들어: '?'
CiaComPort1.Open := True; \\I open the port
Data := #$0002 + UnicodeString(Ж) + #$0003;
CiaComPort1.SendStr(Parancs); //I send the data to the device
프린터 characterset이 ASCII가 다음 문자가 도착하지만 ciril 문자 인 경우 프린터 화면에. 그러나 프린터 문자 집합이 유니 코드이면 문자가 프린터에 도착하지 않습니다.
2 바이트로 표시된 유니 코드 문자입니다. 유니 코드 문자를 바이트 단위로 분해하려면 어떻게해야합니까? 예 : # $ 0002? 그리고이 문자열을 comport와 함께 byte로 보낼 수 있습니까? 어떤 기능이 있습니까?
는
왜 프린터 용 Windows 인터페이스를 사용하지 않습니까? –
'CiaComPort1.SendStr()'는'AnsiString' 또는'UnicodeString'을 입력으로 받아들입니까? COM 포트 스니퍼를 사용하여 'CiaComPort'가 예상대로 실제 유니 코드 바이트를 전송하는지 확인 했습니까? –
IMHO, 원시 바이트를 보내고, 인코딩을 처리하고, 무엇을 가지고 있고, 바이트를 전송하는 것이 항상 좋은 생각입니다. – ComputerSaysNo