这是十进制的:
String[] ss=new String[s.length()];
for(int i=0;i<s.length();i++)
{
   ss[i]=Integer.toHexString((int)s.charAt(i) & 0xffff);
   System.out.println(ss[i]);
}这是十六进制的:
public static String toHEXString(byte b) {
return (""+"0123456789ABCDEF".charAt(0xf&b>>4)+"0123456789ABCDEF".charAt(b&0xF));
}

public static String getUnicode(String setStr) {
String szRet = "";
String szRetTmp = null;
String str = null;
try {
try {
str = new String(setStr.getBytes("ISO-8859-1"),"GBK");
}catch(Exception ex){
ex.printStackTrace();
}
byte[] bb = str.getBytes("UTF16");
for(int i = 2; i < bb.length; i++)
{
i++;
if(bb[i-1] != 0)
szRetTmp = "&#x" + toHEXString(bb[i-1]) + toHEXString(bb[i]) + ";";
else
szRetTmp = new String(bb,i,1,"GBK");
szRet = szRet + szRetTmp;
}
}catch(Exception ex) {
szRet="Sorry Convert2Unicode method fail!";
ex.printStackTrace();
}
return szRet;
}

public static String getUnicode(String setStr,String encoding) {
String str = null;
try {
str = new String(setStr.getBytes(encoding),"ISO-8859-1");
}catch(Exception ex){
ex.printStackTrace();
}
return getUnicode(str);
}记着多用搜索。