我通過C#套接字發送西里爾語文本「УБА221」有問題。它轉向「#xxxxx221」。這裏是xxxxx是5個奇怪的字母,我不能複製粘貼。通過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