getBytes() 方法有两种形式:
-
getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
-
getBytes(): 使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
import java.io.*; public class getBytesTest { public static void main(String args[]) { String Str1 = new String("runoob"); try{ byte[] Str2 = Str1.getBytes(); System.out.println("返回值:" + Str2 ); Str2 = Str1.getBytes( "ISO-8859-1" ); System.out.println("返回值:" + Str2 ); Str2 = Str1.getBytes( "UTF-8" ); for (byte b : Str2) { System.out.print(b+" "); } } catch ( UnsupportedEncodingException e){ System.out.println("不支持的字符集"); } } }
以上程序执行结果为:
返回值:[B@6d06d69c 返回值:[B@7852e922 114 117 110 111 111 98
应用:String(str.getBytes("iso-8859-1"), "UTF-8") 的操作做了什么?
答:先按 iso-8859-1进行解码 然后再按UTF-8进行编码
正常应用 String str=“编码”;
str=new String(str.getBytes("iso-8859-1"), "UTF-8");
JSP 默认取到的是iso-8859-1编码的数据。
背景:编码、解码是为了传输数据过程中进行加密、解密。