国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

java使用urlConnection抓取部分?jǐn)?shù)據(jù)亂碼

2019-11-14 21:40:30
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
java使用urlConnection抓取部分?jǐn)?shù)據(jù)亂碼

使用urlconnection做抓取的同學(xué)應(yīng)該一開(kāi)始都是使用這個(gè)吧。OK回到正題來(lái).....

在內(nèi)容己有中文、英文己正常顯示,仍然會(huì)有部分中文或英文出現(xiàn)亂碼,這是為什么呢?這個(gè)問(wèn)題一直在心里盤旋...真TM的蛋疼....

網(wǎng)上己有解決方案了,,其實(shí)這個(gè)跟各位開(kāi)始學(xué)習(xí)與使用java的資料有關(guān)。

網(wǎng)上大部分代碼都是如下:

byte[] by = new byte[20000];StringBuffer strBuffer = new StringBuffer();int len = 0;while ((len = urlStream.read(by, 0, by.length)) != -1) {strBuffer.append(new String(by, 0, len, "utf-8"));}

這種寫法就會(huì)導(dǎo)致抓回的代碼中有字符出現(xiàn)亂碼。

來(lái)分析下原因:將數(shù)據(jù)流截?cái)啵╞y數(shù)組最大長(zhǎng)度為20000),再轉(zhuǎn)碼扔進(jìn)StringBuffer中。這種必然會(huì)導(dǎo)致內(nèi)容出現(xiàn)亂碼。

那我們?cè)趺唇鉀Q這個(gè)問(wèn)題呢?

BufferedReader reader=new BufferedReader(new InputStreamReader(urlStream,"utf-8"));StringBuffer strBuffer = new StringBuffer();String line=null;while((line=reader.readLine())!=null){strBuffer.append(line);}

將數(shù)據(jù)流先轉(zhuǎn)碼,再加入到StringBuffer中....就不會(huì)有截?cái)鄦?wèn)題了,也就不會(huì)有亂碼了,亂碼是有數(shù)據(jù)被截?cái)嗔耍緛?lái)好好的兩字節(jié)被截成只剩一個(gè)字節(jié),還要解碼,不是亂碼會(huì)是什么?

小伙伴們你們現(xiàn)在明白了嗎?

更多博客請(qǐng)看這里:http://m.survivalescaperooms.com/jackicalSong/


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 西充县| 临漳县| 洛隆县| 桓台县| 灌阳县| 上饶市| 慈溪市| 汶上县| 大悟县| 衡东县| 冕宁县| 陇南市| 长沙县| 突泉县| 义马市| 巫溪县| 化隆| 本溪| 华容县| 邛崃市| 新巴尔虎左旗| 海原县| 宿松县| 西平县| 康马县| 湘潭市| 诸城市| 新密市| 孙吴县| 澄城县| 肃宁县| 平安县| 裕民县| 长春市| 班玛县| 六盘水市| 琼海市| 金川县| 天祝| 蒲城县| 青冈县|