Windows 애플리케이션을 작성 중입니다. jar 파일에서 바이트를 보내거나받는 데 문제가 있습니다.Java to C# - jar 서버에서 C# 클라이언트로 바이트 보내기/읽기
jar 파일은 나에게 2 바이트를 보낸다 즉 ..! ©]
는 문자 코드 0 ~ 127 내에서 제공하기 때문에 내가 올바르게 1 바이트를 읽을 수 있습니다. 하지만 2 바이트를 위해 : 내가 jar 파일에 "©"를 보낼 때 확장 된 ASCII는 jar 파일에서 "©"를 말하는, 그것은 유사
같은 C# 응용 프로그램에 제공, 항아리
친절로 읽는다 이 문제를 해결하는 방법을 알려주십시오.
는 항아리에서 바이트를 읽기 위해이 코드를 사용하고 있습니다 :
while (m_socClient.Available > 0)
{
byte[] buffer = new byte[2048];
int iRx = m_socClient.Receive(buffer);
char[] chars = new char[iRx];
System.Text.Decoder d = System.Text.Encoding.UTF8.GetDecoder();
int charLen = d.GetChars(buffer, 0, iRx, chars, 0);
System.String szData = new System.String(chars);
byte[] q1 = Encoding.GetEncoding("Windows-1252").GetBytes(szData.Substring(0, 1));
byte[] r1 = Encoding.GetEncoding("Windows-1252").GetBytes(szData.Substring(1, 1));
int qu = Convert.ToInt32(q1[0].ToString());
int re = Convert.ToInt32(r1[0].ToString());
}
항아리에 바이트를 전송하기 위해이 코드를 사용하고 있습니다 :
var q = Encoding.GetEncoding("Windows-1252").GetString(new byte[] { quotient });
var r = Encoding.GetEncoding("Windows-1252").GetString(new byte[] { remainder });
Object objData_h = q.ToString() + r.ToString();
byte[] byData_h = System.Text.Encoding.ASCII.GetBytes(objData_h.ToString());
m_socClient.Send(byData_h); // send the data to jar file.
친절 제발 도와 드릴까요? C#과 java에서 동일한 문자 코드를 어떻게 얻을 수 있습니까 ??
'jar file sends me'는 의미가 없습니다. TCP 소켓을 통해 데이터를 검색한다고 가정합니다. – home
일부 데이터가 수신되어 UTF-8로 인코딩 된 텍스트로 해석됩니다. 그런 다음 Windows-1252 인코딩으로 디코딩합니다. 문자는 UTF-8에서 Windows-1252와 다르게 인코딩되므로 바이트가 다른 이유를 설명 할 수 있습니다. – Jesper
@home : 예, TCP를 통해 데이터를 가져 오는 중입니다. – Devil023