`
hcmfys
  • 浏览: 357545 次
  • 性别: 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...

    xss漏洞之进制转换

    - **ASCII 16进制转换**:使用`&#x`前缀进行16进制编码,例如`&lt;script&gt;alert("Hello world");&lt;/script&gt;`编码为`%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%22%48%65%6C%6C%6F%20%77%6F%72%6C%64%22%29%3B%3C%2F%...

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

    ### 数据格式字符串转换(C#) 在C#编程语言中,数据格式字符串是一种强大的工具,用于控制数据的显示格式。本文将详细介绍数据格式字符串的基本结构、组成部分及其应用,并提供一些常用的格式化字符及其含义,帮助...

    天宝GNSS数据转换软件3.14.zip

    总的来说,天宝的这款GNSS数据转换软件3.14是数据处理流程中的关键工具,它使用户能够将专有格式的数据转换为行业标准,以便于进行更广泛的分析和应用。理解并熟练运用这样的软件,对从事GNSS数据处理的专业人士来说...

    FastReport格式转换程序。

    1. FR25x.dat:这可能是FastReport转换程序的一个数据文件,可能包含了关于2.53及以上版本frf文件的元数据或转换规则。 2. fr3convert.exe:这是格式转换程序的可执行文件,用户可以通过运行这个程序来执行frf到f3的...

    激光点云格式转换

    4. **PCD转LAS**:转换方向相反时,可以使用PCL的`pcl_io`模块读取PCD文件,再借助第三方工具如LasTools或pdal将点云数据写入LAS格式。 在实际应用中,选择合适的转换方式取决于具体需求。例如,如果需要快速查看...

    RS-274X数据格式11111111111

    在印刷电路板(PCB)制造领域,数据传输的标准格式对于确保设计准确无误地转换为实际产品至关重要。其中,RS-274X(又称扩展Gerber或X-Data)格式作为一种广泛使用的标准,不仅在PCB设计系统中占据主导地位,而且被...

    MAPGIS与Oracle数据库空间数据格式的转换

    3. **数据转换**:根据Oracle Spatial的要求将数据转换成适当的格式。 4. **数据插入**:将转换后的数据插入到Oracle Spatial数据库中。 #### 总结 通过对MAPGIS明码格式和Oracle Spatial数据库的理解,我们可以更...

    徕卡静态m00文件转换为Rinex格式小工具

    徕卡的静态原始数据一般为m00格式的文件,一般的软件都无法使用,我们提供了一个实用的小工具,专门用于将徕卡静态原始数据的m00格式转换为标准的Rinex格式。由于m00格式的文件在常规软件中难以处理,这个工具的出现...

    las数据转换为TXT数据

    总之,将LAS数据转换为TXT数据是一个涉及二进制解析、数据转换和文本输出的过程。理解和编写这样的转换程序有助于增强对遥感数据处理和文件格式的理解,同时也为数据分析和后续处理提供了便利。

    LMI公司线激光扫描仪 Gocator格式转换工具,可将扫描txt、stl、obj等点云数据转换为csv格式

    描述中提到的“可将扫描txt、stl、obj等点云数据转换为csv格式”,这表明该工具能够处理三种常见的点云数据格式: 1. **TXT**:这是一种纯文本格式,通常包含每一坐标点的X、Y、Z坐标值,可能还包含其他属性如颜色...

    ArcGIS中空间数据的转换与处理

    ArcGIS中的空间数据转换与处理是GIS领域中的一种重要技术,通过投影变换、数据格式转换、数据裁切与拼接等方法,可以实现空间数据的转换与处理,满足用户的需求。 知识点: 1. 空间数据转换与处理的重要性 2. 投影...

    GPS数据转换X.Y坐标

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

    数据转换的艺术:掌握数据分析中的关键技术

    本文旨在深入探讨数据转换的关键技术和方法,帮助读者更好地理解如何将原始数据转化为适合分析的格式,从而确保分析结果的准确性和可靠性。 #### 二、数据清洗 数据清洗是数据转换过程中的第一步,其主要目标是去除...

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

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

    XSS跨站脚本攻击剖析与防御.docx

    XSS编码技术是攻击者为了绕过Web应用的安全过滤机制,将恶意脚本编码为合法格式的一种手段。常见的XSS编码方式包括URL编码、HTML实体编码、Unicode编码、CSS编码等。 - **URL编码**:将特殊字符转换成%XY形式,如`...

Global site tag (gtag.js) - Google Analytics