「java后台如何转码」java转码方法

博主:adminadmin 2022-12-10 10:42:08 88

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

本文目录一览:

java 怎么gbk转码utf-8

方法一:

思路:先转为Unicode,然后转为GBK

String utf8 = new String(t.getBytes( "UTF-8"));  

System.out.println(utf8);  

String unicode = new String(utf8.getBytes(),"UTF-8");   

System.out.println(unicode);  

String gbk = new String(unicode.getBytes("GBK"));  

  

System.out.println(gbk);

方法二:

public static void main(String[] args) {

        String str="字符串编码转换";

        try {

          byte[] temp=str.getBytes("utf-8");//这里写原编码方式

            byte[] newtemp=new String(temp,"utf-8").getBytes("gbk");//这里写转换后的编码方式

            String newStr=new String(newtemp,"gbk");//这里写转换后的编码方式

            System.out.println(newStr);

        } catch (UnsupportedEncodingException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

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

java怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串

通过JDK1.6知道String类中getBytes(”编码“)方法可以讲一个数用指定的编码转成一个字节数组,String中通过指定的 charset解码指定的 byte 数组,构造一个新的 String。代码如下:

try{

String s = "java学习";

System.out.println(s);

String result = new String(s.getBytes("GB2312"),"iso-8859-1");

System.out.println(s);

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

扩展资料:

getBytes() 方法有两种形式:

1、getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

2、getBytes(): 使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

参考资料:

百度百科-getBytes()

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怎么将字符串转换为GB2312原编码

@Test

public void test333(){

String a="青白";

try {

byte[] b=a.getBytes("GB2312");

System.out.println(bytesToHexFun1(b));

 

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

}

//将byte数组转成16进制字符串

 public static String bytesToHexFun1(byte[] bytes) {

    char[] HEX_CHAR = {'0', '1', '2', '3', '4', '5', 

            '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};

        // 一个byte为8位,可用两个十六进制位标识

        char[] buf = new char[bytes.length * 2];

        int a = 0;

        int index = 0;

        for(byte b : bytes) { // 使用除与取余进行转换

            if(b  0) {

                a = 256 + b;

            } else {

                a = b;

            }

            buf[index++] = HEX_CHAR[a / 16];

            buf[index++] = HEX_CHAR[a % 16];

        }

        return new String(buf);

    }

    

中心思想就是先转成GB2312的byte数组,再转成16进制就可以了。

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

The End

发布于:2022-12-10,除非注明,否则均为首码项目网原创文章,转载请注明出处。