String与字符、字节数组之间的转换

复制代码
import java.util.Arrays;

public class StringTest {
    public static void main(String[] args) throws Exception {
        // String与字符数组之间的转换
        // String --> char[]:调用String的toCharArray()
        String str1 = "abc123";
        char[] charArray = str1.toCharArray();
        for (int i = 0; i < charArray.length; i++) {
            System.out.print(charArray[i] + " ");
        }
        
        System.out.println();
        // char[] --> String:调用String的构造器
        char[] arr = new char[] {'h','e','l','l','o'};
        String str2 = new String(arr);
        System.out.println(str2);
        
        // String与字节数组之间的转换
        /*
         * 编码:字符串 --> 字节(看得懂 --> 看不懂的二进制数据)
         * 解码:编码的逆过程,字节 --> 字符串(看不懂的二进制数据 --> 看得懂)
         */
        // String --> char[]:调用String的getBytes()
        String str3 = "abc123中国";
        byte[] bytes1 = str3.getBytes();// 使用默认的字符集,进行编码
        System.out.println(Arrays.toString(bytes1));
        
        byte[] bytes2 = str3.getBytes("utf-8");// 使用utf-8字符集进行编码
        System.out.println(Arrays.toString(bytes2));
        
        String str4 = new String(bytes1);// 使用默认的字符集,进行解码
        System.out.println(str4);
        
        String str5 = new String(bytes2);
        System.out.println(str5);// 出现乱码。原因:编码集和解码集不一致!
        
        String str6 = new String(bytes2,"utf-8");// 解决方法
        System.out.println(str6);
    }
}
复制代码

 

posted @   lai_xinghai  阅读(168)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示