java中如何把类似%E6%8D%A2%E4%B9的编码转化成中文?
java.net.URLDecoder.decode("%E6%8D%A2%E4%B9","UTF-8")
前一参数是编码串,后一参数是编码方式名称。
注:不局弊一定有效,有时编码用的不是UTF-8,java支持的编码种类有上百种。用错了编码方式结果不会正确的。
比如用UTF-8试验贺斗了几个链接中的编码串是正确的,但上面的编码串试验了所有编码方式,都是乱码。
编码方式操作:
import java.nio.charset.Charset;
取得本机支持的编码方式名称数组:
String[] charsets=Charset.availableCharsets().keySet().toArray(new String[0]);
取得本机支持的编码方式数组:
Charset[] charsets=Charset.availableCharsets().keySet().toArray(new Charset[0]);
取得本机默认的编码禅腊磨方式名称:
Charset.defaultCharset().name()
补充:Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
public static void main(String[] args){
try
{
System.out.println(java.net.URLDecoder.decode("java+url%B1%E0%C2%EB%D7%AA%BB%BB","gb2312"));
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
注意,上面的java.net.URLDecoder.decode中包含两个参数,第一个为你要解析的字符串,第二个为指定转换成的编码。可以不要第二个参数(即编码),但是由于不要第二个参数的方法拦族已经过时,因坦衡局此建议加上第二个参数,如果要转换成其他编码,修改第二个参数就可以了。
上面的运行结果是:
java url编码转换让让
前一参数是编码串,后一参数是编橡燃码方式名称。
不一定有效,有时编码用的不是UTF-8,java支持的编码种类有上百种。用错了编码方式结果不会正确的。
比如我用UTF-8试验了几个链接中的编码串是正确的,但你上面的编码串我试验了所有编明如腊码方式,都是乱码。
编码方式操作:
import java.nio.charset.Charset;
取得本机支持的编码方式名称数激滑组:
String[] charsets=Charset.availableCharsets().keySet().toArray(new String[0]);
取得本机支持的编码方式数组:
Charset[] charsets=Charset.availableCharsets().keySet().toArray(new Charset[0]);
取得本机默认的编码方式名称:
Charset.defaultCharset().name()