Java: 字符集详解

您所在的位置:网站首页 gbk字符集范围 Java: 字符集详解

Java: 字符集详解

2023-06-05 15:29| 来源: 网络整理| 查看: 265

1.计算机的存储规则

在计算机中,任意数据都是以二进制的形式来存储的。

每一个二进制数表示的0,1被称为比特位,8个比特位组成一个字节。

字节:计算机最小的存储单元。

2.ASCII字符集

用于存储英文字符,查询制定ASCII码表0-127个字符,进行相应的编码解码。

3.GB2312字符集

1980年发布,1981年5月1日实施的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个简体汉字。

4.BIG5字符集

台湾地区繁体中文标准字符集,共收录13053个中文字,1984年实施。

5.GBK字符集

2000年3月17日发布,收录21003个汉字。

含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。

windows系统默认使用的就是GBK。系统显示:ANSI。

1.GBK存储英文规则 要求:英文用一个字节存储,完全兼容ASCIIGBK英文编码规则:不足8位,前面补0 2.GBK存储汉字规则 规则1:汉字两个字节存储规则2:高位字节二进制一定以1开头,转成十进制之后是一个负数GBK汉字编码规则:不需要变动 6.Unicode字符集

又称万国码。

国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。

1..Unicode存储规则 UTF-16编码规则:用2~4个字节保存UTF-32编码规则:固定使用四个字节保存UTF-8编码规则:用1~4个字节保存

        英文:1个字节;中文:3个字节

7.乱码原因

1.原因1:读取数据时未读完整个汉字

解决方法:不要用字节流读取文本文件。

2.原因2:编码和解码时的方式不统一

解决方法:编码解码时使用同一个码表,同一个编码方式。

 8.JAVA中的编码和解码

idea默认使用UTF-8,eclipse默认使用GBK

public byte[ ] getBytes():使用默认方式进行编码public byte[ ] getBytes(string charsetName):使用指定方式进行编码string(byte[ ] bytes):使用默认方式进行解码string(byte[] bytes, String charsetName):使用指定方式进行解码 //编码 String str = "ai你一万年"; byte[] bytes = str.getBytes(); System.out.println(Arrays.toString(bytes));//[97, 105, -28, -67, -96, -28, -72, -128, -28, -72, -121, -27, -71, -76] byte[] gbks = str.getBytes("GBK"); System.out.println(Arrays.toString(gbks));//[97, 105, -60, -29, -46, -69, -51, -14, -60, -22] //解码 String str2 = new String(bytes); System.out.println(str2);//ai你一万年 String str3 = new String(gbks,"GBK"); System.out.println(str3);//ai你一万年



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3