`
hcmfys
  • 浏览: 347193 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

&#x 格式数据转换

    博客分类:
  • java
 
阅读更多
import java.io.UnsupportedEncodingException;

/**
 * @(#)Convert.java
 * 
 *                
 * 
 * @author hcmfys@163.com
 * @version 1.00 2013/5/22
 */

public class Convert {

	private int hex2oct(char p) throws UnsupportedEncodingException {
		char hexData[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
				'A', 'B', 'C', 'D', 'E', 'F' };
		for (int i = 0; i < hexData.length; i++) {
			if (Character.toUpperCase(hexData[i]) == p) {
				return i;
			}
		}
		throw new UnsupportedEncodingException("Unsupported Hex Encoding");

	}
/***
 * 
 * @param p1
 * @param p2
 * @param p3
 * @param p4
 * @param charset
 * @return
 * @throws UnsupportedEncodingException
 */
	private String hexString2String(char p1, char p2, char p3, char p4, String charset)
			throws UnsupportedEncodingException {

		byte first = (byte) (hex2oct(p1) * 16 + hex2oct(p2));
		byte second = (byte) (hex2oct(p3) * 16 + hex2oct(p4));
		byte[] bytes = new byte[2];
		bytes[0] = first;
		bytes[1] = second;

		return new String(bytes, charset);

	}

	/**
	 * &#x7EC4;&#x7EC7;&#x4E13;&#x7EBF;&#x5F00;&#x901A;
	 * 
	 * @throws UnsupportedEncodingException
	 */
  public	String doDecoder(String html, String charset)
			throws UnsupportedEncodingException {
		int size = html.length();
		String result = "";
		for (int i = 0; i < size; i++) {
			char c = html.charAt(i);
			if (c == '&') {
				if ((i + 7) < size) {
					if (html.charAt(i + 1) == '#' && Character.toUpperCase(html.charAt(i + 2)) == 'X') {
						char p1 = html.charAt(i + 3);
						char p2 = html.charAt(i + 4);
						char p3 = html.charAt(i + 5);
						char p4 = html.charAt(i + 6);
						String s = hexString2String(p1, p2, p3, p4, charset);
						result += s;
						i += 7;
					}
				} else {
					result += c;
					continue;
				}
			} else {
				result += c;
			}
		}
		return result;
	}

	public static void main(String[] args) throws Exception {

		Convert c = new Convert();
		String s = c.doDecoder(
				"我们abcd&#x7EC4;&#x7EC7;&#x4E13;&#x7EBF;&#x5F00;fs;&&#x901A;fs", "utf16");
		 
		System.out.println(s);
		 
	}
}

分享到:
评论

相关推荐

    python处理“&#”开头加数字的html字符方法

    用python抓取数据时,有时会遇到想要数据是以“&#”开头加数字的字符,比如图中所示的这些: 风水大术士 这些字符需要再次转换才能变回中文内容。这些字符需要再次转换才能变回中文内容。 Python2.7版本 在python...

    基于 AVR 的单片嵌入式系统原理与实践应用

    I/O空间为连续的64个I/O寄存器空间,它们分别对应MCU各个外围功能的控制和数据寄存器地址,如控制寄存器、定时器/计数器、A/D转换器及其他的I/O功能等。I/O寄存器空间可使用I/O寄存器访问指令直接访问,也可将其映射...

    GPS数据转换X.Y坐标

    GPS系统接收数据坐标转换 GPS接收的数据往往是三维坐标,而在科学研究中我们通常用二维坐标。因此必须 进行坐标转换,下面我们介绍一种坐标转换,即把WGS84坐标转换为高斯—克吕 格坐标系。数字地图投影的...

    Python如何实现强制数据类型转换

    这篇文章主要介绍了Python如何实现强制数据类型转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 常用转换函数 函数 作用 int(x) 将x转换成整数类型 ...

    FastReport格式转换程序。

    fr2x-fr3converter ,官方提供的程序,可以将frf文件格式转换为f3的格式。 但注意,只支持fastReport2.53及上以版本创建的frf格式,也可以转换。

    PHP基础教程 是一个比较有价值的PHP新手教程!

    如果想要强行转换变量类型,可以使用与C语言相同的函数settype()。 2.5 变量与常量 可能你已经注意到,变量都有一个美元符号($)的前缀。所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用...

    浅谈Python数据类型之间的转换

    Python数据类型之间的转换 函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 ...

    数据格式字符串转换(C#)

    数据格式字符串由以冒号分隔的两部分组成,形式为 {A:Bxx}。例如,格式化字符串 {0:D2} 将单元格格式化为显示一个包含两个小数位数的数字。 注意 整个字符串必须放在大括号内,表示它是格式字符串,而不是原义字符...

    将GPS接收机原始数据转换成RINEX格式

    将GPS接收机原始数据转换成RINEX格式,支持的GPS接收机型号有ASHTECH、TRIMBLE、NAVSYMM、MOTOROLA、NOVATEL

    Python常用数据类型之间的转换总结

    将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换...

    Python语言基础:数据类型转换.pptx

    有时候需要对数据内置的类型进行转换,在进行数据类型的转换时只需要将数据类型作为函数名即可,在Python中内置了一些数据类型转换的函数: 1. int()函数 int() 函数用于将一个字符串或数字转换为整型。 语法:int(x...

    数据集标签格式转换(python脚本实现xml到txt)

    该py脚本从xml文件中提取...class_id center_x center_y w h 并存入txt文件 转换后可直接用于yolov模型训练 (另有json转txt和批量修改文件格式的资源见主页) 下载后按脚本中注释改下xml,txt,images各自路径即可运行

    YOLOv8 缺陷检测之AnyLabeling标注格式转换成YOLO格式, YOLO数据集划分为训练集,验证集和测试集

    在缺陷检测中,我们通常使用AnyLabeling来进行图表标注,然后用YOLO来进行缺陷检测,因此AnyLabeling标注格式转换成YOLO格式, YOLO数据集划分为训练集,验证集和测试集。 代码说明: src/wepy/aitool/dataset/...

    将M进制的数X转换为N进制的数输出

    题目描述:将M进制的数X转换为N进制的数输出。 输入描述:输入的第一行包括两个整数:M和N(2,N)。下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出。 输出描述: 输出X的N进制表示的...

    界址点标准格式转换器(国土用地报备坐标转换).rar

    程序主要功能:1、坐标格式转换:支持txt格式及csv格式的坐标格式文件2、拐点坐标CAD成图:可将拐点坐标转换成CAD图形,分 X,Y 及 Y,X 两种形式3、导出excel格式拐点坐标表(非CASS格式)本程序完全免费,在...

    C语言数据类型转换实例代码

    数据类型转换的一般格式为: (type_name) expression type_name为要转换到的数据类型,expression为表达式。例如: (float) a; //把a转换为实型 (int)(x+y); //把x+y的结果转换为整型 (float) 100; //将一个常量...

    MapGIS6.X向ArcGIS9.2的数据转换

    MapGIS6.X向ArcGIS9.2的数据转换.rarMapGIS6.X向ArcGIS9.2的数据转换.rarMapGIS6.X向ArcGIS9.2的数据转换.rar

    oracle导出时间格式转换

    大家都知道,从oracle数据库中导出数据时,如果其中有字段类型为date,那么导出时将会变成to_date('29-...本程序实现了将oracle数据导出文件中的to_date('x','y')转换成'x'的功能,并去掉了一些非SQL语句,如prompt...

    python2.7栅格数据批量转换投影

    python2.7栅格数据批量转换投影:ProjectRaster_management (in_raster, out_raster, out_coor_system, {resampling_type}, {cell_size}, {geographic_transform}, {Registration_Point}, {in_coor_system}) ...

    南方QS数据到中地ZD数据转换工具

    南方cass宗地*.qs到Mapgis城镇地籍宗地*.zd文件的转换 南方Cass:生成南方地籍数据:首先,做一闭合多段线将街坊完全包围。 地籍→权属生成→由界址线生成→界址点线文件*.qs→区域边界→点击多段线 MapGIs: 对于...

Global site tag (gtag.js) - Google Analytics