gpt4 book ai didi

android - 套接字输入流和 Unicode

转载 作者:行者123 更新时间:2023-11-29 00:16:36 24 4
gpt4 key购买 nike

我尝试编写一个应用程序,将文本从 Windows 计算机发送到 Android 手机。我发送的文本可以是英语或希伯来语(例如)。连接是通过套接字。我在 Windows 端使用的代码(Visual Studio 2012):

String buffer = // Some text
// Encode the data string into a byte array.
byte[] msg = Encoding.ASCII.GetBytes(buffer + "\n");
// Send the data through the socket.
int bytesSent = socketSender.Send(msg);

在 Android 端:

//After I establish the Socket
String text = "";
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader in = new BufferedReader(isr);
while ((inputText = in.readLine()) != null)
{
text = inputText;
}

所有这些在发送英文文本时都能完美运行。当我尝试发送希伯来语文本时,我将替换为这一行:

byte[] msg = Encoding.Unicode.GetBytes(buffer + "\n");

但在 Android 端我无法“读取”它。我尝试使用 CharsetEncoder 但没有用(或者我用错了方法)。有什么想法吗?

最佳答案

好的,所以答案是:在 Windows 端:

byte[] msg = Encoding.UTF8.GetBytes(buffer + "\n");

在 Android 端:

InputStreamReader isr = new InputStreamReader(is, "UTF-8");

关于android - 套接字输入流和 Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26302645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com