我试图从c#发送到java(android),通过tcp发送一个包含希伯来字符的字符串。
然而,来自java的数据是问号。
这里有相关代码:
C#(m_client是tcpclient类):
NetworkStream stream = client.m_client.GetStream();
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(msg);
stream.Write(bytes, 0, bytes.Length);
的Java(机器人):
BufferedReader input = new BufferedReader(new InputStreamReader(m_client.getInputStream(),"Windows-1255"));
char[] buffer = new char[1024];
input.read(buffer);
return new String(buffer);
我在java部分尝试了各种编码(windows-1255,UTF-8,ASCII,iso-8859-8-i,iso-8859-8),但似乎没有任何工作
我的操作系统是Windows 7 提前谢谢大家。
答案 0 :(得分:0)
在设备上转到设置/语言和输入并确保语言是希伯来语或者您如何用希伯来语说希伯来语。这应该设置设备locale我没有列出它列出,但我再也不知道希伯来语。 http请求中的部分标题,特别是Accept-Language:lain/hebrew和this希伯来语是utf-8的一部分,但你确实有权利离开。如果您没有希伯来语键盘进行测试,此trick可能会有用。祝你好运
答案 1 :(得分:0)
这对我有用:
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("Windows-1255")));