在android中显示希伯来语字符
Posted
技术标签:
【中文标题】在android中显示希伯来语字符【英文标题】:Display Hebrew Characters in android 【发布时间】:2016-04-16 19:40:52 【问题描述】:我正在尝试通过 tcp 从 c# 向 java(android) 发送一个包含希伯来语字符的字符串。
但是,到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 提前谢谢大家。
【问题讨论】:
在 C# 端尝试使用 utf8 编码。我认为 ASCII 不支持希伯来语 谢谢您的回复,也是问题所在,我在android中的语言需要是希伯来语,并且还要将java和c#编码为UTF-8 很高兴听到它的工作,并感谢您的反馈 【参考方案1】:这对我有用:
BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("Windows-1255")));
【讨论】:
【参考方案2】:在设备上转到设置/语言和输入并确保语言是希伯来语或希伯来语中的希伯来语怎么说。这应该设置设备locale 我没有列出它,但我又不知道希伯来语。 http请求中的部分标头特别是Accept-Language:lain/hebrew和this希伯来语是utf-8的一部分,但你确实有从右到左的东西。如果您没有用于测试的希伯来语键盘,此trick 可能会很有用。祝你好运
【讨论】:
以上是关于在android中显示希伯来语字符的主要内容,如果未能解决你的问题,请参考以下文章
Android 8.1 自定义热点的时候设置了热点maxLength="32",但是在希伯来语等状态下还是发现在没到32个字符之前就无法把热点设置成功了