最近在写爬虫时遇到"&#"或者 "&#x"开头的 编码,在浏览器是可以正常打开的,但是爬取下来时却,显示 中国农业银行 在尝试了 utf-8 或者GBK,GB2312等等的编码都行不通的情况下, 在网上也找不到太多的资料,这让我很苦恼,而且百度搜索居然没法直接搜索符号,还是大谷歌好用, 通过.aspx 发现其实这个只是普通的unicode编码.但是却有不同的格式 比如u开头的,"&#"或者"&#x"开头. 我们在 找到了 问题的答案.
其实 u 开头和 &#x 开头是一样的 都是16进制 unicode字符的不同写法,&# 则是 unicode字符的10进制的写法.知道这个之后我们写代码就容易多了.
public static String unicode2String(String unicode) { StringBuffer string = new StringBuffer(); if (unicode.startsWith("&#x")) {String[] hex = place("&#x", "").split(";"); for (int i = 0; i < hex.length; i++) { int data = Integer.parseInt(hex[i], 16); string.append((char) data); }}else if(unicode.startsWith("&#")){String[] hex = place("&#", "").split(";"); for (int i = 0; i < hex.length; i++) { int data = Integer.parseInt(hex[i], 10); string.append((char) data); }} String(); }
本文发布于:2024-02-02 13:11:47,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170685070844026.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |