「java后台转码」java实现文件转码

博主:adminadmin 2023-01-08 15:12:06 587

今天给各位分享java后台转码的知识,其中也会对java实现文件转码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java转码出现乱码

在后台java代码中加以下代码:

String yourword = request.getParameter("yourword");

country = new String(coyourwordetBytes("ISO-8859-1"),"GB2312");

或者:

request.setCharacterEncoding("utf-8")

java如何把string转为utf-8

java不同编码之间进行转换,都需要使用unicode作为中转。

String str = "任意字符串";

str = new String(str.getBytes("gbk"),"utf-8");

备注说明:

str.getBytes("UTF-8"); 意思是以UTF-8的编码取得字节

new String(XXX,"UTF-8"); 意思是以UTF-8的编码生成字符串

举例:

public static String getUTF8XMLString(String xml) {

// A StringBuffer Object

StringBuffer sb = new StringBuffer();

sb.append(xml);

String xmString = "";

String xmlUTF8="";

try {

xmString = new String(sb.toString().getBytes("UTF-8"));

xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");

System.out.println("utf-8 编码:" + xmlUTF8) ;

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

// return to String Formed

return xmlUTF8;

扩展资料:

UTF-8编码规则:

如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。

实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成,首字节连续的1的个数表示字符编码所需的字节数。

Unicode转换为UTF-8时,可以将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。

参考资料来源:百度百科:UTF-8

浏览器get请求到java后台的值是乱码

编码问题首先检查编码和解码是否一致。看下你的jsp是否编码设置了utf-8,默认是iso-8859-1,

然后就是解码的时候的编码,在你的servlet或者controller中检查request和response是否设置了编码,一般是request.setCharacterEncoding("utf-8");response.set...

如果都设置了的话,post发送数据应该是不会乱码的。get发送数据乱码,是因为你的jsp中设置的编码utf-8没有生效在get请求下,解决方案两种:1、修改服务器中的默认编码,

在tomcat安装目录下的conf/server.xml中,有如下的配置:

Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/可以设置端口

这里呢,也可以设置另外一个跟上述编码问题有关的参数信息:URIEncoding,该配置决定了使用get请求通过浏览器地址栏访问tomcat时的编码方式,默认的编码方式使ISO8859-1,这一点我们可以从官网文档() 获悉:

URIEncoding:This specifies the character encoding used to decode the URI bytes, after %xx decoding the URL. If not specified, ISO-8859-1 will be used.

知道了这点,接下来就简单了,我们可以这样配置,则上述代码中,就不需要再从ISO8859-1转为UTF-8了:

URIEncoding="UTF-8"

就是改成这样: Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/

即可。

或者使用后台手动进行解码:

String s=new String(str.getbyte("iso-8859-1"),"utf-8");

先解码后编码。

如果嫌每次这样麻烦,可以写过滤器拦截你的get清秀将request中的parameter转换编码

前台传过来的SQL语句到java后台的问题,空格变成了 %20 请问怎么转码

我还头一回看见往后台传sql语句的,这代码写起来也是醉了,醉的一塌糊涂。

用URLDecoder解个码试试吧。

jsp用escape().replace()转码,java后台解码

使用js先转码

var str = encodeURI(encodeURI(str);

java解码

String str = URLDecoder.decode(str, "utf-8");

不管是汉字,还是特殊字符都没问题

java转码问题

呵呵,看我这个,是本人原创。不管你是任何编码都可以解决,唯一的缺点是效率稍微低了点(不过比楼上那个要快)。

思路:

1.首先在jsp页面即客户端用JavaScript将汉字处理成asc码

2.服务端再将asc码还原成原有的字符

JavaScript转换代码:

var s=document.getElementById("text").value;

var t="";

//将汉字转换成ASCII码,然后在服务器端里再根据ASCII码转换成相应的字符

for(i=0;is.length;i++){

t+=s.charCodeAt(i)+" ";//将字符转换成相应的ASCII码并用空格隔开;

}

java服务端还原:

String param=request.getParameter("param");

StringBuffer buf=new StringBuffer("");

String[] ss = param.split(" ");

for (int i = 0; i ss.length; i++) {

char c = (char) Integer.parseInt(ss[i].trim());

buf.append(c);

}

System.out.println("还原后的字符是:"+buf.toString());

----------------------

如果你再把转换后的asc码再加个数字或者减个数字就是一个简单的加密,O(∩_∩)O~,希望对你有所帮助

关于java后台转码和java实现文件转码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。