C# 소켓을 통해 키릴 문자 "УБА221"을 보내는 데 문제가 있습니다. '# xxxxx221'(으)로 바뀌 었습니다. 여기에 xxxxx는 제가 붙여 넣기를 복사 할 수없는 이상한 알파벳입니다. (전송)Socket을 통해 키릴 문자를 보내시겠습니까?
SocketPacket theSockId = (SocketPacket)asyn.AsyncState;
int iRx = theSockId.thisSocket.EndReceive(asyn);
char[] chars = new char[iRx + 1];
System.Text.Decoder d = System.Text.Encoding.UTF8.GetDecoder();
int charLen = d.GetChars(theSockId.dataBuffer, 0, iRx, chars, 0);
System.String szData = new System.String(chars);
TextLabel.Text =TextLabel.Text+ szData;
클라이언트 측 :
서버 측 (수신 측)
subtext = "УБА221";
byte[] byData = System.Text.Encoding.UTF8.GetBytes(subtext);
socket.Send(byData);
내 코드가 작동하지 않는 이유는 어떤 생각이 있습니까?
텍스트를 인코딩하는 방법에 대해
UTF32를 UTF8로 변경했습니다. 그러나 여전히 작동하지 않습니다. 나중에 Encoding.UTF8.GetString (bytes, 0, bytesToDecode)을 시도 할 것입니다. – user3145861