String.getBytes()方法是否可逆?
羊城咩咩咩 2007-08-02 11:21:38 我在Tomcat下有2个用来测试编码的jsp:encode1.jsp,encode2.jsp
encode1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<Script>
function sendGB2312(){
var oReq = new ActiveXObject("Microsoft.XMLHTTP");
var proxyURL = "encode2.jsp?name=测试";
oReq.open("POST", proxyURL, false);
oReq.send(null);
}
</Script>
</HEAD>
<BODY onload="sendGB2312()">
</BODY>
</HTML>
encode2.jsp:
<%
String name = (String)request.getParameter("name");
System.out.println(name+":1");
name = new String(name.getBytes("ISO-8859-1"),"GB2312");
System.out.println(name+":2");
name = new String(name.getBytes("GB2312"),"UTF-8");
System.out.println(name+":3");
name = new String(name.getBytes("UTF-8"),"GB2312");
System.out.println(name+":4");
%>
访问encode1.jsp的时候,后台打印出的结果如下:
????:1
测试:2
????:3
锟斤拷锟斤拷:4
想问一下,第3,4步是不是不可逆的?谢谢!