String.getBytes()--->字符串转字节数组

是String的一个方法
String的getBytes()方法是得到一个系统默认的编码格式的字节数组
getBytes("utf-8") 得到一个UTF-8格式的字节数组
把String转换成bytes,各种编码转换成的bytes不同,比如UTF-8每个汉字转成3bytes,而GBK转成2bytes,所以要说明编码方式,否则用缺省编码。

得到一个系统默认的编码格式的字节数组

public class Demo {
    static String str="ok";
    static byte[] a=str.getBytes();//字符串转字节数组

    public static void main(String[] args) {
        System.out.println(a);//输出字节数组的内存地址
        System.out.println(Arrays.hashCode(a));//输出字节数组的希哈值
        System.out.println(Arrays.toString(a));//输出字节数组中每个字节对应的ascii值
        System.out.println(new String(a));//把字节数组再转为字符串输出
    }
}

[111, 107]
ok

window下默认缺省编码用的是GBK所以,转换中文对应的2字节/1汉字

public class Demo {
    static String str="好";
    static byte[] a=str.getBytes();//字符串转字节数组

    public static void main(String[] args) {
        System.out.println(Arrays.toString(a));//输出字节数组中每个字节对应的ascii值
    }
}

[-70, -61]

如果指定的话,比如指定utf-8,转换中文对应的3字节/1汉字

public class Demo {
    static String str="好";
    static byte[] a=str.getBytes("UTF-8");//字符串转字节数组

    public static void main(String[] args) {
        System.out.println(Arrays.toString(a));//输出字节数组中每个字节对应的ascii值
    }
}

[-27, -91, -67]

上一篇:Informatica 常用组件Source Qualifier之二 默认查询


下一篇:MongoDB使用经验总结