先看一下要获取网页的编码方式 new InputStreamReader(inputStream)这个类有构造方法可以指定文字编码,把编码指定一下就行了。 比如GBK 编码的页面就BufferedReader br = new BufferedReader( new InputStreamReader(inputStream,"GBK")); UT
一般的服务器标头中都有内容编码,先取这个值作为编码。如果没有,就把所有内容读成字节数组,先用UTF8先读取一下网页内容,并查找下有没有meta标签指定编码,找到的话就使用找到的编码重新读取字节数组,否则就使用默认编码读取。
由于不会弄程序只会正则表达式因此只能给你提供一下正则表达式了,不过你会程序,这个问题就会变得很简单了。我将所有的东西用正则表达式匹配出来,你输出之后用程序做个替换就可以实现你要的那种效果了。
正则:<tr style="display:" id="tr\d+"[^>]>\s<td>([^<])</td>[\s\S]+<tr align="center" >[\s\S]+<tr align="center" >\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"] "><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>\s<td[^>]>(:<a href="#" title="[^"]"><font color="#\w+">|)([\s\S])(:</font></a>|)</td>
:
从里面不难看出,将所有的项都匹配出来了。之后你按照顺序输出捕获组1-11就是你要的那些结果,在输出的时候可以按照你需要的格式来进行输出。
输出完成之后做一个替换就可以了如果是 ;替换成没有课,如果是小黑点,替换成有课,就OK了。
出现乱码的几种原因和解决办法:
一、出现乱码的原因:
1、网站头部设定的编码和网页本身的编码不一致导致的,html网页头部代码:<meta >
常用的编码示例
Arabic (ISO-8859-6)
Catalan (ISO-8859-1)
Chinese (Simplified) (GB2312)
Chinese (Traditional) (BIG5)
Danish (ISO-8859-1)
Dutch (ISO-8859-1)
English (ISO-8859-1)
Esperanto (ISO-8859-3)
Finnish (ISO-8859-1)
French (ISO-8859-1)
Georgian (UTF-8)
German (ISO-8859-1)
Hebrew (ISO-8859-8-I)
Hungarian (ISO-8859-2)
Irish Gaelic (ISO-8859-1)
Italian (ISO-8859-1)
Japanese (SHIFT_JIS)
Korean (EUC-KR)
Norwegian (Bokml) (ISO-8859-1)
Norwegian (Nynorsk) (ISO-8859-1)
Occitan (ISO-8859-1)
Portuguese (Brazil) (ISO-8859-1)
Portuguese (Portugal) (ISO-8859-1)
Romanian (ISO-8859-2)
Russian (ISO-8859-5)
Slovenian (ISO-8859-2)
Spanish (ISO-8859-1)
Swedish (ISO-8859-1)
Yiddish (UTF-8)
以上就是关于如何获取httpurlconnection.getinputstream的编码方式全部的内容,包括:如何获取httpurlconnection.getinputstream的编码方式、根据Url地址得到网页的html源码的编码问题、我想获取一个网页里所有中文,用正则表达式应该如何编码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)