getBytes()编码的使用

package cn.zl.test;

import org.junit.Test;

/**
 * 编码练习
 * 
 * out用于正常的用户指定的输出,而err专门用于显示错误消失;
 * 
 * @author Administrator
 *
 */
public class Translate {

    // 将中文字符按照字节方式来编码
    @Test
    public void translate() {

        String tempStr = "";
        try {
            //有时候,为了让中文字符适应某些特殊要求(如http header头要求其内容必须为iso8859-1编码),可能会通过将中文字符按照字节方式来编码的情况
            tempStr = new String("很好".getBytes("ISO-8859-1"), "utf-8");
            tempStr = tempStr.trim();
            System.out.println(":"+tempStr);
        } catch (Exception e) {
            //“标准”错误输出流。此流已打开并准备接受输出数据
            System.err.println(e.getMessage());
        }
        //return tempStr;
    }
    
    //指定编码显示
    @Test
    public   void  codeValue(){
        //通过String.getBytes(String decode)方法来得到byte[]时,一定要确定decode的编码表中确实存在String表示的码值,这样得到的byte[]数组才能正确被还原。 
        try{
            //转化成指定编码的值
            String s=new String("你好".getBytes("utf-8"));
            System.out.println("你好的 值:"+s);        
            //根据指定的decode编码返回某字符串在该编码下的byte数组表示;
            //byte[] b_gbk = "深".getBytes("utf-8");   //[B@28ba21f3
            byte[] b_gbk = "你好".getBytes("utf-8");   //[B@28ba21f3
            
            //指定为编解方式显示值
            String s_gbk1 = new String(b_gbk,"utf-8");   
            
            //标准”输出流。此流已打开并准备接受输出数据            
            System.out.println("b_gbk:"+b_gbk+",b_gbk1:"+s_gbk1);
        }catch(Exception ex){
            //不着任何处理
        }
        
    }
}
 

你可能感兴趣的:(Java)