编码格式不一致造成的乱码

package com.qf.demo2;

import java.io.UnsupportedEncodingException;

// ����� 乱码
public class Test3 {

    public static void main(String[] args) throws UnsupportedEncodingException {
        String string = new  String();// 创建的是 空字符序列
        System.out.println(string);
        
        byte[] bs = new byte[]{97,98,99};// 1,2 
        
         // 编码格式不同会造成  乱码
        //getBytes() 是Java编程语言中将一个字符串转化为一个字节数组byte[]的方法
        byte[] bs2 = "你好".getBytes();// 当前的编码格式   gbk
        
        String string2 = new String(bs2,"gbk");//此处要与bs2的编码格式一致 若把gbk改为utf-8 则会出现乱码
        System.out.println("sss"+string2);
        
        //offset 偏移量  (从下表哪个位置开始)  length 长度 要转成的字符串中  需要 数组中及格数据
        // offset + length <= 数组.length
        String string3 = new String(bs, 1, 2);// StringIndexOutOfBoundsException
        System.out.println(string3);
        
        
        char[] cs = new char[]{'a','b','c'};
        String string4 = new String(cs);
        System.out.println(string4);    
        String string5 = new String(cs, 1, 2);
        System.out.println(string5);
        String string6 = new String("abcdefagdafda");
        System.out.println(string6);
        
        // 字符串缓冲区
        //String string7 =new String(buffer)
        //String string7 = new String(builder)
        
        // 从字符串中 获取指定下标的  字符
        char c = string6.charAt(2);
        System.out.println(c);
        
    }
}

你可能感兴趣的:(编码格式不一致造成的乱码)