《Java和Android开发学习指南(第2版)》——第2章,第2.1节ASCII和Unicode

第2章 语言基础
Java和Android开发学习指南(第2版)
Java是一种面向对象编程语言,因此,理解OOP非常重要。第4章是本书的第一个关于OOP内容的一章。然而,在了解OOP功能和技术之前,应该先学习Java语言的基础知识。

2.1 ASCII和Unicode
传统上,英语国家的计算机只使用美国信息交换标准代码(American Standard Code for Information Interchange,ASCII)字符来表示字母和数字字符。ASCII中的每个字符都用7位来表示。因此,这个字符集中有128个字符。其中包括小写和大写的拉丁字母、数字和标点符号。

ASCII字符集后来扩展了,包括了另外的128个字符,例如,德语字符ä、ö、ü和英国货币符号£。这个字符集叫作扩展了的ASCII,并且每个字符使用8位来表示。

ASCII和扩展的ASCII只是可用的众多字符集中的两个。另一个流行的字符集由国际标准化组织(International Standards Organization,ISO)标准化了,即ISO-8859-1,也称之为Latin-1。ISO-8859-1中的每一个字符也用8位来表示。这个字符集包含了很多西方语言(如德语、丹麦语、荷兰语、法语、意大利语、西班牙语、葡萄牙语,当然也包括英语)编写文本所需的所有字符。每个字符占8位的字符集便于使用,因为一个字节也是8位的长度。因此,用一个8位的字符集来存储和传输文本,也更有效率。

然而,并不是每种语言都使用Latin字母。中文和日文是使用不同的字符集的两个例子。例如,中文中的每个字符表示一个字,而不是一个字母。这样的字符有数千个,8位不足以表示字符集中的所有字符。日文也使用一种不同字符集。全部算起来,全世界的语言中,有数以百计的不同的字符集。为了统一所有字符集,创建了一个叫作Unicode的计算标准。

Unicode是由一个叫作Unicode联盟(Unicode Consortium,www.unicode.org)的非营利的组织开发的。这个实体试图将全世界所有语言的所有字符,都包含到一个单个的字符集中。Unicode中的一个唯一的编号,只表示1个字符。Unicode当前的版本8,用于Java、XML、ECMAScript和LDAP等。

一开始,一个Unicode字符用16位来表示,这足够表示65 000多个不同的字符。65 000字符足以表示世界上主要语言中的大多数字符了。然而,Unicode联盟计划支持100万个以上的字符编码。根据这个数量,可能还需要另外的16位才能表示每个字符。实际上,32位系统被认为是存储Unicode字符的一种方便的方式。

现在,你已经看到了一个问题。尽管Unicode为所有语言中的所有字符提供了足够的空间,但是,存储和传输Unicode文本并不像存储和传输ASCII或Latin-1字符那样高效。在互联网世界中,这是一个大问题。想象一下,你要传输的数据是ASCII文本的4倍那么多。

好在字符编码可以使得存储和传输Unicode文本更加高效。你可以把字符编码看作是和数据压缩类似。并且,如今有很多类型的字符编码可用。Unicode联盟支持如下3种:

UTF-8。这在HTML中很流行,并且用作将Unicode字符转换为不同长度的字节编码的协议。它利用了一个优点,即Unicode字符与人们熟悉的ASCII具有相同的字节值。转换为UTF-8的Unicode字符可以用于很多已有的软件。大多数浏览器都支持UTF-8字符编码。
UTF-16。在这一字节编码中,所有较为常用的字符都放入到单个的16位的编码单元中,其他较少用到的字符,通过一对16位的编码单元来访问。
UTF-32。这个字节编码为单个的字符使用32位。这显然不是Internet应用程序的选择,至少目前还不是。
ASCII字符仍然在软件编程中扮演主要的角色。Java对于几乎所有的输入元素都使用ASCII,除了注释、标识符以及字符和字符串内容之外。对于后者,Java支持Unicode字符。这意味着,你可以用英语以外的语言来编写注释、标识符和字符串。

时间: 2024-08-02 00:22:40

《Java和Android开发学习指南(第2版)》——第2章,第2.1节ASCII和Unicode的相关文章

《Java和Android开发学习指南(第2版)》—— 导读

前言 Java和Android开发学习指南(第2版)欢迎阅读本书. 本书是针对那些想要学习Java语言,特别是想要进行Android应用程序开发的人编写的.本书包含两个部分,第1部分主要介绍Java,第2部分介绍如何有效地构建Android应用程序. 本书中关于Java的内容并非每一项Java技术都讲到(在一本书里,无论如何也不可能涵盖所有的内容,这也是为什么大多数Java图书都专注于一项技术).但是,本书介绍了最重要的Java编程主题,这些主题是你自学其他技术所必须掌握的.特别是第1部分介绍了

《Java和Android开发学习指南(第2版)》——导读

目 录前 言 第1章 Java基础1.1节下载和安装Java1.2节第一个Java程序1.3节Java编码惯例1.4节集成开发环境1.5节本章小结 第2章 语言基础2.1节ASCII和Unicode2.2节分隔符2.3节基本类型2.4节变量2.5节常量2.6节字面值2.7节基本类型转换2.8节操作符2.9节注释2.10节本章小结 第3章 语句 第4章 对象和类 第5章 核心类 第6章 数组 第7章 继承 第8章 错误处理 第9章 操作数字 第10章 接口和抽象类 第11章 多态 第12章 枚举

《Java和Android开发学习指南(第2版)》—— 第1章 Java基础 1.1 下载和安装Java

第1章 Java基础 要使用Java编程,需要Java SE开发工具包(Java SE Development Kit,JDK).因此,本章的第1节将介绍如何下载和安装JDK.开发Java程序,涉及编写代码,将其编译为字节码,以及运行字节码.在Java程序员的职业生涯中,这是一个一次又一次重复的过程,并且,它对于你适应这个职业至关重要.因此,本章的主要目标是让你体验用Java进行软件开发的过程. 编写的代码不仅要能够工作,还要容易阅读又便于维护,这一点很重要,因此本章将向你介绍Java编码惯例.

《Java和Android开发学习指南(第2版)》—— 1.5 本章小结

1.5 本章小结 本章介绍了如何下载和安装JDK,并帮助你编写第一个Java程序.你会使用一个文本编辑器来编写程序,使用javac来将其编译为一个类文件,并且使用java工具来运行类文件. 随着程序变得更加复杂,且项目变得更大,IDE将会帮助你加快应用程序的开发. 本文仅用于学习和交流目的,不代表异步社区观点.非商业转载请注明作译者.出处,并保留本文的原始链接.

《Java和Android开发学习指南(第2版)》—— 1.2 第一个Java程序

1.2 第一个Java程序 本小节将强调Java开发中的步骤,即编写程序,将其编译为字节码以及运行字节码. 1.2.1 编写Java程序 可以使用任何文本编辑器来编写Java程序.打开一个文本编辑器,并且输入代码清单1.1中的代码.或者,如果你已经下载了本书配套的程序示例,只要将它复制到你的文本编辑器中就可以了. 如果你还没有下载代码,现在就可以从异步社区的Web站点下载示例.在前言的最后部分中,给出了下载地址.代码清单1.1 一个简单的Java程序 class MyFirstProgram {

《Java和Android开发学习指南(第2版)》—— 2.4 变量

2.4 变量 变量是数据占位符.Java是一种强类型的语言,因此,每个变量必须有一个声明的类型.Java中有两种数据类型: 引用类型一个引用类型的变量,提供对一个对象的引用.基本类型一个基本类型的变量,保存一个基本类型. Java如何存储整数值 你一定听说过计算机使用二进制数字,即只包含0和1的数字.本节对此提供了一个概要,当你学习操作符的时候可能用的上. 一个字节占8个位,这表示要分配8个位来存储一个字节.最左边的位是一个符号位.0表示正值,1表示负值.0000 0000是0的字节表示,000

《Java和Android开发学习指南(第2版)》——第2章,第2.4节变量

2.4 变量变量是数据占位符.Java是一种强类型的语言,因此,每个变量必须有一个声明的类型.Java中有两种数据类型: 引用类型一个引用类型的变量,提供对一个对象的引用.基本类型一个基本类型的变量,保存一个基本类型. Java如何存储整数值你一定听说过计算机使用二进制数字,即只包含0和1的数字.本节对此提供了一个概要,当你学习操作符的时候可能用的上. 一个字节占8个位,这表示要分配8个位来存储一个字节.最左边的位是一个符号位.0表示正值,1表示负值.0000 0000是0的字节表示,0000

《Java和Android开发学习指南(第2版)》——第1章,第1.4节集成开发环境

1.4 集成开发环境你可以使用一个文本编辑器来编写Java程序.然而,使用集成开发环境(Integrated Development Environment,IDE)将会更有帮助.IDE不仅会检查代码的语法错误,还可以自动提示代码.调试和跟踪程序.此外,当你录入的时候,编译会自动进行,并且,运行一个Java程序也只需要单击一下按钮.最终,你将用更短的时间进行开发. 可用的Java IDE曾经有数十种之多,但是如今,只剩下3种常用的.好在,前两种完全是免费的: NetBeans(免费且开源).Ec

《Java和Android开发学习指南(第2版)》——第1章,第1.5节本章小结

1.5 本章小结本章介绍了如何下载和安装JDK,并帮助你编写第一个Java程序.你会使用一个文本编辑器来编写程序,使用javac来将其编译为一个类文件,并且使用java工具来运行类文件. 随着程序变得更加复杂,且项目变得更大,IDE将会帮助你加快应用程序的开发.