这些天被utf-8的编码方式搞得团团转~今天终于有了重大发现~就是对泡泡这咱编码的方式如何进行解码的问题~
首先要明白这是什么编码方式~据我的理解这种编码其实是一种十六进制编码方式~所在只要把其中的&#x去掉就是我们很常见的十六进制编码了比如泡去掉一些不必要字符后就是6CE1 ,而这就是十六进制的编码.把经转成十进制就是27873,所以要进这样的编码进行解~就只要再进行char转一下就是中文字符了,下面是例子:
java:
private static char tochar(String string) throws NumberFormatException
{
// 解码函数
String result=string.replace(";", "");
result=result.replace("&#x", "");
char result1;
result1 = (char) Integer.parseInt(result, 16);
return result1;
}
调用只要 :
String result="6CE1";
System.out.println(tochar(result));
输出的结果就是:泡
对于C#则要把其转换成0x6CE1再进行转换,例子如下
C#
public string AmpToUnicode(string expression, string delimiter)
{
//MessageBox.Show(expression);
string result="";
if(null == expression)
{
return result;
}
foreach(string s in expression.Split(delimiter.ToCharArray()))
{
if(s != string.Empty)
{
string tem = "0x"+s.Replace(";","");
result += (char)Convert.ToUInt32(tem,16);
}
}
return result;
}
调用方法:
string result="泡";
System.Console.WriteLine(AmpToUnicode(result,"&#x"););
结果是:泡