我正在编写一个 Windows 应用程序。从 jar 文件发送/接收字节时遇到问题。
jar 文件向我发送一个 2 字节 [即。!©]
我可以正确读取第一个字节,因为它在字符代码 0-127 内。但是对于第 2 个字节:扩展的 ASCII 表示来自 jar 文件的“©”,它以 .</p> 的形式进入 C# 应用程序
同样,当我将“©”发送到 jar 文件时,jar 将其读取为
请指导我如何解决这个问题。
我正在使用此代码从 jar 中读取字节:
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());
}
我正在使用此代码将字节发送到 jar:
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 中获得相同的字符代码?