iteye_18781 2011-04-20 22:45
浏览 188
已采纳

解码编码问题 求指教

package com.lucene.web;

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

import java.net.UnknownHostException;

public class WebHttpClient {

    /**
     * @param args
     * @throws IOException
     * @throws UnknownHostException
     */
    public static void main(String[] args) throws UnknownHostException,
            IOException {
        Socket webClient = new Socket("www.bnu.edu.cn", 80);
        PrintWriter result = new PrintWriter(webClient.getOutputStream(), true);
        BufferedReader receiver = new BufferedReader(new InputStreamReader(
                webClient.getInputStream()));
        // 解码 编码

        // 发送http请求
        result.println("GET / HTTP/1.1");
        result.println("Host: bnu.edu.cn");
        // 响应完了 告诉服务器关闭连接
        result.println("Connection: Close");
        result.println();
        // 接受请求
        boolean bRet = true;
        StringBuilder sb = new StringBuilder(8096);
        while (bRet) {
            // 有数据进来了
            if (receiver.ready()) {
                String name = null;
                while ((name = receiver.readLine()) != null) { //一行字符地读取 数据
                /**
                 * 解码的关键部分  
                 */
                    String context = new String(name.getBytes(), "utf-8");
                    sb.append(context + "\n");
                }

                bRet = false;
            }
        }
        // 显示获取的正文的网页 打印到控制台
        // String context=URLDecoder.decode(sb.toString(),"utf-8");
        System.out.println(sb.toString());
        if (webClient != null) {
            webClient.close();
        }

    }

}


运行完  抓取下来的网页里面出现了几个不能解码的汉字  以问号的形式出现  但是很少   对此问题表示不解

 

  • 写回答

2条回答 默认 最新

  • iteye_14409 2011-04-21 21:21
    关注

    直接把InputStream按照UTF-8,转化成Reader

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题