import java.io.UnsupportedEncodingException;
public class UnicodeDecoder {
public static String escape (String src)
{
int i;
char j;
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length()*6);
for (i=0;i<src.length() ;i++ )
{
j = src.charAt(i);
if (Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j))
tmp.append(j);
else
if (j<256)
{
tmp.append( "%" );
if (j<16)
tmp.append( "0" );
tmp.append( Integer.toString(j,16) );
}
else
{
tmp.append( "%u" );
tmp.append( Integer.toString(j,16) );
}
}
return tmp.toString();
}
public static String unescape (String src)
{
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos=0,pos=0;
char ch;
while (lastPos<src.length())
{
pos = src.indexOf("%",lastPos);
if (pos == lastPos)
{
if (src.charAt(pos+1)=='u')
{
ch = (char)Integer.parseInt(src.substring(pos+2,pos+6),16);
tmp.append(ch);
lastPos = pos+6;
}
else
{
ch = (char)Integer.parseInt(src.substring(pos+1,pos+3),16);
tmp.append(ch);
lastPos = pos+3;
}
}
else
{
if (pos == -1)
{
tmp.append(src.substring(lastPos));
lastPos=src.length();
}
else
{
tmp.append(src.substring(lastPos,pos));
lastPos=pos;
}
}
}
return tmp.toString();
}
public static void main(String[] args) throws UnsupportedEncodingException{
String str="现金帐户";
String name = str.replace("&#x","%u");
String name2= name.replace(";","");
String str2=unescape(name2);
System.out.println("newStr: " + str2);
}
}
分享到:
相关推荐
在HTML中,“#”后的数字或“x”后的十六进制数字代表Unicode编码,这些编码可以用来表示各种字符,包括非ASCII字符,如空格或其他特殊符号。 标签“web”进一步确认了这个主题与Web开发技术相关。 压缩包内的文件...
javascript:alert(‘xss’); 这种方法使用十六进制编码将脚本编码成HEX代码,以欺骗安全检查。 5、ASCII ...
因此,一种常见的解决方案就是使用Unicode编码来替代中文字体名称。本文将详细介绍如何进行这种转换,并解释不同类型的Unicode编码以及它们的应用场景。 #### 为什么需要转换 在CSS中直接使用中文作为字体名称可能...
Unicode转中文的过程就是将用Unicode编码表示的字符串转化为中文字符的过程。这个过程涉及到字符编码理论、字符串解析以及编程语言中的字符串处理方法。 首先,Unicode编码有多种表示形式,包括UTF-8、UTF-16等。在...
当我们将中文字符转换为NCR编码,实际上是将每个中文字符转换为其对应的Unicode编码,并以"&#x"的形式呈现。例如,"利用"的Unicode编码是U+52294,"有效"的Unicode编码是U+75283,"的"的Unicode编码是U+96401。在...
- **Unicode 字符串**:Python 3.x中的字符串默认为Unicode编码,而Python 2.x需要显式使用 `u` 前缀来创建Unicode字符串。 ### 总结 Python 3.x相比2.x版本在许多方面进行了改进和完善,尤其是在Unicode支持、除...
两者的主要区别在于,实体引用使用特定的名称来表示字符,而数值字符引用则直接使用字符的Unicode编码值。 #### 常用特殊字符列表 以下是一些在SVG中常用的特殊字符及其实体引用和数值字符引用: - **版权符号**...
压缩包中的"常用汉字的Unicode码表.doc"文件很可能是一个详细的文档,列出了日常使用频率较高的汉字及其对应的Unicode编码。这个文档对于开发者来说是一个宝贵的参考工具,可以快速查找特定汉字的编码,尤其在处理...
Unicode编码作为全球性的字符编码标准,其核心价值在于为每一种语言中的每一个字符提供一个统一且唯一的二进制编码。这种编码方式的出现,使得原本难以跨越的语言和平台障碍得到了有效解决,让计算机能够无歧义地...
#### Unicode编码介绍 Unicode,也称为统一码或万国码,是一种在计算机上使用的字符编码。Unicode的出现是为了突破传统字符编码方案的局限,提供一个能够为每种语言中的每个字符设定统一且唯一的二进制编码的方案。...
- **Unicode编码**:使用`\uXXXX`的形式,如`转为`\u003C`。 - **CSS编码**:通过CSS属性值中的特殊字符来实现编码,例如使用`\000078`表示`x`等。 示例分析: ```html <div style="\000078\000073s:e\xp...
越南语 Unicode 编码对照 越南语 Unicode 编码对照是指越南语在 Unicode 编码标准中的表示方法。Unicode 是一个通用的字符编码标准,用于统一表示世界各国语言的字符。 越南语 Unicode 编码对照可以分为基本字符和...
2. Unicode编码:HTML还支持Unicode字符编码,通过“&#x”加16进制数字的方式表示,例如“&”代表“&”。Unicode编码可以表示世界上几乎所有的字符集,包括各种语言的特殊字符。 3. HTML实体编码:除了预定义...
在Java编程语言中,Unicode编码是一种广泛使用的字符集,它包含了世界上几乎所有的文字,包括中文。Unicode使得在程序中处理不同语言的文本变得更加方便。本文将深入探讨如何在Java中进行中文字符到Unicode编码的...
Unicode+编码表
使用UTF-8 Unicode编码来表示JavaScript关键字,以此绕过基于字符串匹配的过滤。 ##### 8. 特殊字符编码 ```html <IMG SRC=java..ʡ..XSS')> ``` 通过特殊字符编码来表示...
Unicode编码可以采用不同的字节序列来表示,其中UTF-8是最常见的一种。 UTF-8是Unicode的变种之一,它是一种可变长度的字节编码方式。在UTF-8编码中,每个Unicode字符可能由1到4个字节表示,根据码点的大小决定。...