【字符串编码解码问题】

字符串中编码解码问题

1.编码

  • byte[] getBytes():使用平台的默认字符集将该String编码为一系列字节,将结果存储到新的字节数组中
  • byte[] getBytes(String charsetName):使用指定的字符集将该String编码为一系列字节,将结果存储到新的字节数组中

2.解码

  • String(byte[] bytes):通过使用平台的默认字符集解码指定的字节数组来构造新的String
  • String(byte[] bytes,String charsetName):通过指定的字符集解码指定的的字节数组来构造新的String

3.使用UTF-8编码和解码

package com.characterstream;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
public class StringDemo {
    public static void main(String[] args) throws UnsupportedEncodingException {
        //定义一个字符串
        String s="中国";
        byte[] bys = s.getBytes();//平台默认编码为UTF-8
        System.out.println(Arrays.toString(bys));
        //解码
        String ss = new String(bys);//平台默认解码为UTF-8
        System.out.println(ss);
    }
}

【字符串编码解码问题】_第1张图片

4.使用GBK编码和解码

package com.characterstream;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
public class StringDemo {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String s="中国";
        byte[] bys = s.getBytes("GBK");
        System.out.println(Arrays.toString(bys));
        String ss = new String(bys, "GBK");
        System.out.println(ss);
    }
}

【字符串编码解码问题】_第2张图片

你可能感兴趣的:(java,开发语言)