在Java内部进行字符处理时,采用的都是Unicode,具体编码格式是UTF-16BE。简单回顾一下,UTF-16使用两个或四个字节表示一个字符,Unicode编号范围在65536以内的占两个字节,超出范围的占四个字节,BE(BigEndian)就是先输出高位字节,再输出低位字节,这与整数的内存表示是一致的。
       char本质上是一个固定占用两个字节的无符号正整数,这个正整数对应于Unicode编号,用于表示那个Unicode编号对应的字符。

char a = '汉';
System.out.println((int)a);  //输出的是"汉"的Unicode的码值
char b = 27721;              //char也可以直接通过定义Unicode码值进行赋值
System.out.println(b);       //输出的是字符"汉"

三种定义char的方式

//第一种直接用字符赋值
char c = 'a'; // a -- 97
char c1 ="贤';
system.out.println(c);
system.out.println(c1);//第二种直接使用 unicode编码赋值
char c2 = ox8d24;   //16进制的表示方法
char c3 = 36132;    //十进制的表示方法
system.out.println(c2);
system.out.println(c3);//第三种直接使用unicode码值形式
char c4='\u8d24' ; //\转义u转换为了 unicode码表
system.out.println(c4);

由于固定占用两个字节,char只能表示Unicode编号在65536以内的字符,而不能表示超出范围的字符。

问: 那超出范围的字符怎么表示呢?只能使用String类来表示,例如汉字""吉"的Unicode码点为0x208B7,该码点显然超出了65535,所只能用String表,而当粘贴到代码中时,自动转换为了两个字符"\uD842 \uDFB7"

// char 本质固定的两个字节。UTF-16基本面两个字节﹑如果是 辅助面的话4个字节
// char表示不了辅助面的字符
// string表示辅助面的字符
// char c5 = '\uD842 \uDFB7'; char表示不了中文的一些生僻字
string s - "\uD842\uDFB7";
system.out.println(s);

Java中的char字符你了解多少?相关推荐

  1. 【Java基础】Java中的char是否可以存储一个中文字符之理解字符字节以及编码集

    Java中的一个char采用的是Unicode编码集,占用两个字节,而一个中文字符也是两个字节,因此Java中的char是可以表示一个中文字符的. 但是在C/C++中由于采用的字符编码集是ASCII, ...

  2. 字符集与字符编码,java中的char和unicode

    文章目录 基本单位转换 进制缩写与表示 字符.字符集.字符编码 ASCII码 全角 GBK.GB2312 为什么需要字符编码 UTF-8和Unicode的关系 java中的char 和unicode ...

  3. 浅聊一下Java中的char类型

    什么是Unicode Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,也就是规定了二进制和字符的映射,以实现跨语言.跨平台进行文本转换.处理的要求,但是它并没有 ...

  4. JAVA中判断char是否是中文的几种方法

    java中使用Unicode字符,所有字符均以2个字节存储,编码呢,前256个和ASCII 编码一致,汉字字符编码应该在20000以上也就说英文字符还是在大写字母 65-90 , 小写字母97-122 ...

  5. java中0x0f对应的字符是什么_常见字符的ASCII码,java中如何获取字符的ASCII码

    一.常见字符的ASCII码 ASCII 码使用指定的7 位或8 位的二进制数组合来表示128 或256 种可能的字符. 标准ASCII 码也叫基础ASCII码,使用7 位二进制数(最高的1位二进制为0 ...

  6. Java中的字符集编码入门Java中的增补字符

    转载自:http://jiangzhengjun.iteye.com/blog/512083 Java中的字符集编码入门Java中的增补字符 博客分类: 字符集编码 Java Java号称对Unico ...

  7. java中判断一个字符在字符串中出现的次数

    源代码: //java中判断一个字符出现的次数//在下面字符串中查找有几个啊public static void testFindChar(){String str = "啊!我爱你中国!啊 ...

  8. java中的char类型

    2019独角兽企业重金招聘Python工程师标准>>> 一:char的初始化 char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Un ...

  9. java中char类型_【考点】JAVA中的char类型

    写在前面: 本周,在我们同学的刷题群里,一位同学上传了一道关于char的题,引起的不少同学的热议.热议的同时,我们也发现近乎一半的同学对char的基础知识一知半解,今天我们给大家一个浅显易懂的解释,赶 ...

最新文章

  1. vs2015使用GIt连接git.oschina.net/
  2. linux下confstr与uname函数_获取C库与内核信息
  3. Maven+Struts2+MyBatis+Spring搭建教程
  4. 基于Gitlab Jenkins Docker集群 微服务搭建自动化部署平台
  5. python解析库详解_PyQuery库详解
  6. UVA11729 Commando War【贪心】
  7. 数据结构笔记(十)-- 循环队列
  8. GlobalMapper 脚本应用(持续更新)
  9. 微软资深副总裁洪小文:人工智能十年预测(演讲全文、61PPT)
  10. 【多轮对话】多轮对话状态追踪技术综述
  11. win7搭建VM10虚拟机,搭建win7旗舰版64系统
  12. 卡尔曼滤波器的理解,C代码实现,和opencv里面KalmanFilter 的使用
  13. Kafka SASL配置 Demo测试
  14. 华为手机语音通话时断时续原因
  15. balsamiq原型工具
  16. SQL注入基础原理与案例(详细总结)
  17. 华为p40支持鸿蒙,华为P40来袭,支持鸿蒙系统,花粉直呼惊喜
  18. 目标检测(三)传统目标检测与识别的特征提取——基于HOG特征的目标检测原理
  19. php 解压文件中有中文,ZipArchive 解压中文文件乱码解决方案和疑惑
  20. 在KVM最小化搭建openstack平台 --快速部署openstack

热门文章

  1. fffffffffffffffffffffffffffffff
  2. HTML5 Canvas 详解
  3. Vue--Router--路由传参的方法
  4. Bugku:杂项 猫片(安恒)
  5. 赌徒谬误论,投掷硬币,连续5次都是正面朝上,第6次正面反面的概率?
  6. mysql实现年龄大于17小于30_mysql基础
  7. DY果园~~~~~~青龙脚本
  8. chap mysql借点_mysql必知必会-读书笔记(chap4-8)
  9. 人工神经网络模型定义,人工智能神经网络模型
  10. 曾仕强《中国式管理-人际关系学》笔记 下