android真机和 Windows虚拟机都是默认 utf-8 编码?为啥中文显示乱码

谁学逆向工程 2016-10-17 01:34:30

//运行在手机真机上的
package com.example.administrator.client;

import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class MainActivity extends Activity
{
EditText show;

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show = (EditText) findViewById(R.id.show);
new Thread()
{
@Override
public void run()
{
try
{
// 创建客户端的socket服务,指定目的主机和端口
Socket s = new Socket("192.168.1.103" , 30000);

//2为了发送数据,应该获取socket流中的输出流
OutputStream out = s.getOutputStream();

out.write("tcp 的例子".getBytes());

s.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}.start();
}
}


//运行在电脑上的
import java.util.concurrent.locks.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.net.*;


public class recv
{
public static void main(String[]args)throws Exception
{
//1、建立服务端的socket服务,并监听一个端口
ServerSocket ss = new ServerSocket(30000);

//2、通过accept方法获取连接过来的客户端对象
Socket s = ss.accept();

String ip = s.getInetAddress().getHostAddress();//获取客户端IP
int port = s.getPort(); //获取客户端端口
System.out.println(ip);
System.out.println(port);


//3、获取客户端发送过来的数据,那么要使用客户端对象的读取流来读取数据
InputStream in = s.getInputStream();

byte [] buf = new byte[1024];
int len = in.read(buf);

System.out.println(new String(buf, 0, len));

s.close();
ss.close();

}
}

...全文
175 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
谁学逆向工程 2016-10-17
  • 打赏
  • 举报
回复
引用 1 楼 shaochx 的回复:
这样?
试了下,一样的效果。这不是一样的代码吗,只不过是拆开了
深蓝的髹 2016-10-17
  • 打赏
  • 举报
回复
try { Socket s = new Socket("192.168.1.103" , 30000); OutputStream out = s.getOutputStream(); String str = "tcp 的例子"; byte str_bytes = str.getBytes("utf-8"); out.write(str_bytes); }catch (Exception e) { // do nothing } 这样?

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧