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){
//不着任何处理
}
}
}