4月3日,CharCode,每日20行。

本文提供了一个Java程序示例,展示了如何将字符串从Unicode编码转换到GB2312及ISO8859-1编码,并打印出每种编码形式下的十六进制表示。通过这个例子,读者可以了解到不同字符集之间的编码差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.io.*;
public class CharCode {
    public static void printByteArray(String msg, byte[] t){
        System.out.println(msg + "****************");
        for(int i = 0; i < t.length; i++){
            System.out.println(Integer.toHexString(t[i]));
        }
    }
    public static void printCharArray(String msg, char[] c){
        System.out.println(msg + "****************");
        for(int i = 0; i < c.length; i++){
            System.out.println(Integer.toHexString(c[i]));
        }
    }
    public static void main(String[] args) {
        try{
            String str = "中文";
            System.out.println(str);
            //unicode 字符集中"中文"二字的对应代码
            printCharArray("unicode:", str.toCharArray());
            //转为本地字符集 GB2312 对应的代码
            byte[] b = str.getBytes("GB2312");
            printByteArray("GB2312:", b);
            //转为 ISO8859-1 对应的代码,因为 ISO8859-1 是英文字符集,
            //没有对应的汉字代码,所以转化错误
            byte[] m = str.getBytes("ISO8859-1");
            printByteArray("ISO8859-1:", m);
        }
        catch(UnsupportedEncodingException e){
            System.out.println("没有相应的字符集!");
        }
    }
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值