首页 » java » java语言使用的字符码集是什么

java语言使用的字符码集是什么

Java语言使用的是Unicode字符集。 而ASCII是国际上使用最广泛的字符编码;BCD是一种数字压缩存储编码方法。 Java语言使用的是Unicode字符集。

java代码软件编辑器

java中几种常见字符集与乱码介绍

  1. ASCII和Ansi编码

字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为 单字节内码 -- Single-Byte character sets(SBCS),可以支持256个字符编码.

双字节内码 -- Double-Byte character sets)(DBCS),可以支持65000个字符编码.前者即为ASCII编码,后者对应ANSI.至于简体中文编码GB2312,实际上它是ANSI的一个代码页936

2.Unicode符号集

正如上一节所说,世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。而Unicode就是这样一种编码:它包含了世界上所有的符号,并且每一个符号都是独一无二的。比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E25表示汉字“严”。具体的符号对应表,可以查询unicode.org,或者专门的汉字对应表 。很多人都说Unicode编码,但其实Unicode是一个符号集(世界上所有符号的符号集),而不是一种新的编码方式。

但是正因为Unicode包含了所有的字符,而有些国家的字符用一个字节便可以表示,而有些国家的字符要用多个字节才能表示出来。即产生了两个问题:第一,如果有两个字节的数据,那计算机怎么知道这两个字节是表示一个汉字呢?还是表示两个英文字母呢?第二,因为不同字符需要的存储长度不一样,那么如果Unicode规定用2个字节存储字符,那么英文字符存储时前面1个字节都是0,这就大大浪费了存储空间。

上面两个问题造成的结果是:1)出现了unicode的多种存储方式,也就是说有许多种不同的二进制格式,可以用来表示unicode。2)unicode在很长一段时间内无法推广,直到互联网的出现。

3.UTF-16

说到 UTF 必须要提到 Unicode(Universal Code 统一码),ISO 试图想创建一个全新的超语言字典,世界上所有的语言都可以通过这本字典来相互翻译。可想而知这个字典是多么的复杂,关于 Unicode 的详细规范可以参考相应文档。Unicode 是 Java 和 XML 的基础,下面详细介绍

Unicode 在计算机中的存储形式。

UTF-16 具体定义了 Unicode 字符在计算机中存取方法。

UTF-16 用两个字节来表示 Unicode 转化格式,这个是定长的表示方法,不论什么字符都可以用两个字节表示,两个字节是 16 个 bit,所以叫 UTF-16。UTF-16 表示字符非常方便,每两个字节表示一个字符,这个在字符串操作时就大大简化了操作,这也是 Java 以 UTF-16 作为内存的字符存储格式的一个很重要的原因。

4.UTF-8

UTF-16 统一采用两个字节表示一个字符,虽然在表示上非常简单方便,但是也有其缺点,有很大一部分字符用一个字节就可以表示的现在要两个字节表示,存储空间放大了一倍,在现在的网络带宽还非常有限的今天,这样会增大网络传输的流量,而且也没必要。而 UTF-8 采用了一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以是由 1~4 个字节组成。

UTF-8 有以下编码规则:

如果一个字节,最高位(第 8 位)为 0,表示这是一个ASCII 字符(00 - 7F)。可见,所有 ASCII 编码已经是UTF-8 了。如果一个字节,以 11 开头,连续的 1 的个数暗示这个字符的字节数,例如:110xxxxx 代表它是双字节 UTF-8 字符的首字节。

5.GBK/GB2312/GB18030

GBK和GB2312都是针对简体字的编码,只是GB2312只支持六千多个汉字的编码,而GBK支持1万多个汉字编码。而GB18030是用于繁体字的编码。汉字存储时都使用两个字节来储存。

目前国际上通用的计算机字符编码

目前,国际上通用的字符编码是ASCII码。

ASCII 码(英文全称:American Standard Code for Information Interchange,中文名称:美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,是现今最通用的单字节编码系统,并等同于国际标准 ISO/IEC 646。

ASCII 码使用 7 位(标准 ASCII 码)或 8 位(扩展 ASCII 码)二进制数组合来表示 128 或 256 种字符。

学习和使用java的好处

虽然有很多理由说明为什么Java值得学习,并且是当今开发者和技术服务部门最喜欢的语言。下面这一节将重点介绍最重要的原因。

在科技行业的高使用率

Java在全球拥有超过1200万用户,对于那些有兴趣为手机开发应用程序的人来说,Java是一种理想的语言,特别是如果你想关注Android手机开发这一蓬勃发展的市场。

工作机会

Java是一门全方位的通用编程语言,因此通过学习Java你会有很多工作机会。它是一种需求量很大的语言,其受欢迎程度只会越来越高,这意味着有各种各样的工作机会和长期的工作保障。

易于学习

Java比大多数语言更容易学习,这使它成为初学者的理想选择。作为一种通用的编程语言,它被用来构建各种应用的软件。这使得它非常容易上手,用途广泛,因此也更容易学习。

稳定的语言

Java是最古老的编程语言之一。2020年,随着Java 16的推出,Java庆祝了其25周年。在这段时间里,它已经证明自己是一种稳定的语言,是从事一系列项目的理想选择,从基于网络的应用程序到视频游戏到图形界面。

免费学习

当你在从事个人项目时,可以免费学习Java。然而,当Java被用于商业目的时,则需要支付少量费用。总的来说,它仍然是最实惠的学习语言之一。

发表评论

您的电子邮箱地址不会被公开。