常用字符编码及乱码分析

常见的编码

  1. GBK、GB2312:表示国标编码,GDB包含简体中文和繁体中文,而DB2312只包含简体中文,也就是说,这两种编码都是描述中文的编码
  2. UNICODE编码:Java提供的16进制编码,可以描述世界上任意的文字信息,但是有个问题,若现在所有的字母都使用16进制编码,那么这个编码太庞大了,会造成网络传输的负担
  3. ISO8859-1:国际通用编码,但是所有的编码都需要进行转换
  4. UTF编码:相当于结合了UNOICODE、ISO8859-1,也就是需要用到16进制文字使用UNICODE,而若只是字母就使用ISO8859-1,常用的就是UTF- 8

乱码产生分析

若本地系统所用的编码和程序所用的编码不同,强制转换就会出现乱码

public class analyzeMessyCode {
    public static void main(String[] args) throws IOException {
        FileOutputStream fileOut = new FileOutputStream
                (new File("C:\\Users\\Administrator\\Downloads\\file1.txt"));
        fileOut.write("hello world".getBytes("ISO8859-1"));
        fileOut.close();
    }
}

乱码产生的原因:编码和解码不统一产生的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值