HTML源代码:
[code="html"]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
上面的
056
在IE中显示的是数字,请教这是什么编码?怎么在JAVA程序中还原?
发帖还是显示的是056数字,打出中文的:&#48;&#53;&#54;
[color=blue]请问,HTML中类似于&#48;&#53;&#54;是什么编码[/color]
是Unicode编码
以下是我的程序:
package com.roger;
public class Encode {
/**
* @param args
*/
public static void main(String[] args) {
String a="&#48;&#53;&#54;";
System.out.println(getWord(a));
System.out.println(getUnicode("056"));
}
//反编码函数
public static String getWord(String input){
input=input.replace("&#", "");
input = input.substring(0,input.length()-1);
String s[]= input.split(";");
StringBuilder sb = new StringBuilder("");
for(String str:s){
sb.append(toChar(str));
}
return sb.toString();
}
private static char toChar(String str) {
Integer it = Integer.valueOf(str);
char c = (char)it.intValue();
return c;
}
//编码函数
public static String getUnicode(String input){
StringBuilder sb = new StringBuilder("");
int len = input.length();
for(int i=0;i<len;i++){
sb.append("&#"+toInt(input.substring(i,i+1))+";");
}
return sb.toString();
}
public static int toInt(String s){
char c = s.charAt(0);
int i=(int )c;
return i;
}
}
注意程序重“&”,“#”,“;”均为英文输入状态下
没必要,做一个编码转换就得了,一般是iso那个标准,换过来应该可以.
unicode编码的问题,在界面上换成utf-8试试