0

我准备了这样的套接字客户端连接:

        Socket socket = new Socket();
        socket.setSoTimeout(500);
        hostname = "XX.YY.ZZ.XX";
            socket.connect(new InetSocketAddress(hostname, port), 6000);
        out = new PrintWriter(new BufferedWriter(
                new OutputStreamWriter(socket.getOutputStream())),
                false);
        in = new BufferedReader(new InputStreamReader(
                socket.getInputStream()));

我使用以下代码读取数据:

               if (in.ready() == true) {
                   String message = in.readLine();
                   Log.e("MyApplication", "data=" + message);
               }

当我查看 logcat 时,我看到了吗?char 而不是每个国家字符。我确定发送到我的 android 应用程序的数据是 utf-8 字符集,因此我尝试使用如下代码:

      UTF8Str = new String(message.getBytes(),"UTF-8");

或像这样创建 BufferReader:

        in = new BufferedReader(new InputStreamReader(
                socket.getInputStream(),"UTF-8"));

但一切都没有成功。有人可以帮我解决问题转换字符以将它们作为国民显示在 logcat 中(我的主要目标是在 TextView 中显示它们)。两周前一切正常,但经过一些 Ecclipse 重新配置(我无法恢复到旧设置)后停止了。

~Artik

4

0 回答 0