Java中有三种表示整数的方法:十进制、八进制、十六进制。

八进制:以0开头,包括0~7的数字。如:int octal=020;  //定义int型变量存放八进制数据

十六进制:以0x或0X开头,包括0~9的数字及字母a~f,A~F。如:long hex=0xf932d763fae4325L;  //定义长整型变量存放十六进制数据

不同的编码方式按照它们的规定方法将支持的字符集转换为计算机硬件进行能操作的二进制形式,其中包括了一些格式转换过程。

ASCII(American Standard Code for Information Interchange美国标准信息交换代码),基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其它西欧语言。不支持包括中文在内的所有语言。数字的ASCII码<大写字母的ASCII码<小写字母的ASCII码。

1.使用7位或8位二进制数组合来表示128或256种可能的字符。(如:A对应的ASCII码二进制:01000001,十进制是65。)7位表示成8位,在最高位填0就行。

2.标准ASCII码使用7位二进制来表示所有的大写字母和小写字母,数字0~9,标点符号,以及在美式英语中使用的控制字符。

3.后128个称为扩展ASCII码,用于表示特殊符号、外来语字母和图形符号。

所以说,ASCII码支持一个字符占一个字节(8bit)。

像char类型在进行运算时输出的结果,是把字符转换为对应的ASCII码,我们通常看到的结果是ASCII的二进制转换为十进制的数字,当然,这些字符也可以对应八进制或十六进制。

ASCII算上扩展的,共256种1和0的组合来表示256个字符,不包括中文。中国制定了GB2312编码,把中文编进去,包括汉字、其它字母以及图形符号等,GBK字符集是GB2312的扩展,主语扩展了繁体中文字的支持。类似地,日文和韩文等其它语言也有这个问题。不同的国家会制定支持各自语言的编码方式,为了统一所有文字的编码,Unicode应运而生。扩充这么多字符,一个字节(8bit)肯定是不够了,Unicode、GB2312和GBK编码都是用两个字节表示一个字符,之前的英文编码从单字节变成双字节,只需要把高字节全部填0就行,也就是用16种1和0的组合(256 x 256 = 65536 个符号),前面的已编好的字符前8位都填0即可。

Unicode编码又称为统一码或万国码,是计算机科学领域的一项业界标准,目标是支持世界上所有的字符集,即世界上的各种语言字符都有对应的Unicode编码,这样就不会有乱码问题。英文每个字符占用一个字节,中文每个字符占用两个字节。

Unicode表示法:在值前加 \u来表示Unicode编码,后面跟四位十六进制数。即范围从\u0000~\uffff

如:char c='\u005d';   //char型是用单引号括,这里表示的是Unicode编码,代表一个字符']'

UTF-8(8-bit Unicode Transformation Format)是Unicode的其中一个使用方式,用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。UTF-8使用可变长度字节来储存 Unicode字符,它可以使用 1 - 4 个字节表示一个字符,根据字符的不同变换长度,这样可以减少所需的存储空间,提高存储效率。utf-8编码一个中文字符占三个字节。

char类型占2个字节,16位可以存放一个汉字。

Java基础笔记(六)——进制表示、ASCII码和Unicode编码的更多相关文章

  1. 利用浏览器做好数字进制和ASCII码及Unicode教与学

    浏览器是现在个人计算机的标配,一般来说一个PC至少安装一种以上的浏览器.主流网页浏览器有Google Chrome.Internet Explorer.Microsoft Edge.Mozilla F ...

  2. Java基础笔记(3) 进制与进制转换

    ---恢复内容开始--- 进制 在一般生活中,我们一直在应用的十进制,就是逢十进一,而今天我们要接触的是,计算机编程常用的进制!首先我们要知道,计算机内部运算采用的是二进制,也就是逢二进制! 1.什么 ...

  3. C语言 16进制与ascii码互转

    /*把ASCII字符转换为16进制 */ uint8_t char_to_hex(const uint8_t *ch) { uint8_t value = 0; if(*ch >= 0 & ...

  4. java基础语法以及进制的转换

    关键字 关键字: 被Java语言赋予特定含义的单词 关键字特点 组成关键字的字母全部小写 关键字注意事项 goto和const作为保留字存在,目前并不使用 类似IDEA这样的集成工具,针对关键字有特殊 ...

  5. 进制与ASCII码转换

    LabeledEdit4.Text := chr(); // 用十进制方式赋值: ASCII码转换为字符 65 -> A LabeledEdit4.Text := #; // 用十进制方式赋值: ...

  6. Java编程基础——运算符和进制

    Java编程基础——运算符和进制 摘要:本文主要介绍运算符和进制的基本知识. 说明 分类 Java语言支持如下运算符: ◆ 算术运算符:++,--,+,-,*,/,%. ◆ 赋值运算符:=,+=,-= ...

  7. JAVA 16进制转ASCII -- 2018年5月25日 周五

    /** * 16进制转ASCII * * @param hex * @return */ public static String hex2Str(String hex) { StringBuilde ...

  8. Java字符串转16 进制工具类Hex.java

    Java字符串转16 进制工具类Hex.java 学习了:https://blog.csdn.net/jia635/article/details/56678086 package com.strin ...

  9. Java基础笔记 – Annotation注解的介绍和使用 自定义注解

    Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Anno ...

随机推荐

  1. 20145239 杜文超 实验四 Android开发基础

    20145239实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试 了解Android组件.布局管理器的使用 掌握Android中事件处理 ...

  2. 和菜鸟一起学android4.0.3源码之硬件gps简单移植【转】

    本文转载自:http://blog.csdn.net/mwj19890829/article/details/18751447 关于Android定位方式 android 定位一般有四种方法,这四种方 ...

  3. java入门了解05

    1.模板模式 (一)需求:解决默写事情有固定模式,但有时内部会发生变化,此时就需要应用模板模式编写此过程 从而解决事情的流程依然可以别使用,这就是模板模式的好处(类似我们的个人简历模板) (二)步骤: ...

  4. 算法(Algorithms)第4版 练习 1.3.26

    方法实现: //1.3.26 /** * remove all of the nodes in the list that have key as its item field * * @param ...

  5. js修改div标签中的内容

    <div id='divId'>初始文字</div> <script> $(document).ready(function(e){ $('#divId').htm ...

  6. RQNOJ 202 奥运火炬登珠峰:01背包

    题目链接:https://www.rqnoj.cn/problem/202 题意: 登珠峰需要携带a(L)O2和t(L)N2. 有n个气缸可供选择.其中第i个气缸能装下a[i](L)O2和t[i](L ...

  7. 开机时遇到grub rescue无法进入系统的解决方法

    装双系统(win10和elementary os),elementary os是ubuntu的一个分支.在win10中合并了一块空白磁盘分区,再开机的时候出问题了. 遇到filesystem unkn ...

  8. 常见排序算法-php

    1.归并排序 $a = [1, 4, 6, 8, 10, 14, 16]; $b = [2, 3, 5, 8, 9, 11]; function merge_sort($a, $b) { $a_i = ...

  9. [Codeforces 452E] Three Strings

    [题目链接] https://codeforces.com/contest/452/problem/E [算法] 构建后缀数组 用并查集合并答案即可 时间复杂度 : O(NlogN) [代码] #in ...

  10. 自动拆装箱(int,Integer)

    包装类型Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个 ...