Android解析socket或http流中文编码问题
来源:互联网 发布:美丽岛事件知乎 编辑:程序博客网 时间:2024/04/28 20:09
这里直接拿了HTTP流实验了下
Java代码
- public String getHttpContent(String htmlUrl) throws IOException,
- InterruptedException {
- URL url;
- InputStream is = null;
- HttpURLConnection urlConn = null;
- int count = 0;
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- try {
- url = new URL(htmlUrl);
- urlConn = (HttpURLConnection) url.openConnection();
- urlConn.setConnectTimeout(20000);
- urlConn.setReadTimeout(20000);
- is = urlConn.getInputStream();
- byte[] buf = new byte[512];
- int ch = -1;
- while ((ch = is.read(buf)) != -1) {
- baos.write(buf, 0, ch);
- count = count + ch;
- }
- } catch (final MalformedURLException me) {
- me.getMessage();
- throw me;
- } catch (final IOException e) {
- e.printStackTrace();
- throw e;
- }
- return new String(baos.toByteArray(), "GB2312");
- }
其实上面的方法很简单,刚开始那哥们用的BufferedReader去读,这样直接读出来String有问题,解码不对,后来自己读到 byteoutputstream里,然后读出字节自己手工编码就对了,可是昨天晚上发现了一个更简单的方法,我们真是走了一个大大的弯路,如下:
Java代码
- public String getHttpContent(String htmlurl) throws Exception{
- HttpClient hc = new DefaultHttpClient();
- HttpGet get = new HttpGet(htmlUrl);
- HttpResponse rp = hc.execute(get);
- if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
- return EntityUtils.toString(rp.getEntity()).trim();
- }else{
- return null;
- }
- }
apache的这些类用起来还真是方便,以后还要多多学习。
- Android解析socket或http流中文编码问题
- android sax 解析xml中文编码问题
- 记录一次http请求----中文编码问题
- Android Studio 中文编码问题
- QT 与 android java socket通讯 中文字符编码问题 解决
- QT 与 android java socket通讯 中文字符编码问题 解决
- java中的中文编码问题解析
- Android http中文乱码问题
- Android http中文乱码问题
- android URL 中文解析问题
- http 协议编码问题+JSP解决中文乱码问题
- jQuery.ajax提交GB2312或GBK编码中文乱码问题
- 关于android编码问题-URL中文编码-Activity中文编码与.java编码
- Android 发送HTTP请求出现编码问题
- Android Studio 关于中文编码的问题
- SOCKET http 报头解析
- Socket与HTTP解析
- http下载文件,中文文件名在firefox下编码问题
- C:/WINDOWS/system32/drivers/etc/hosts 文件有什么作用
- android Socket连接【java.net包实现的socket连接client】
- JS代码在IE和Firefox间的区别及其他
- Android通过Socket(TCP/IP)与PC通讯
- How to upload and download image from habase?
- Android解析socket或http流中文编码问题
- http://blog.csdn.net/ztz0223/category/296706.aspx?PageNumber=3
- 值得你一生珍惜的朋友
- Android Socket 异常
- VS 代码元素是只读的情况
- Trace Function Enter, Exit and Leave
- Linux和Windows下重启MySQL方法--方便查找
- 配置文件
- symbian图象异步解码,怎样才能同步