Java中的char字符你了解多少?
在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字符你了解多少?相关推荐
- 【Java基础】Java中的char是否可以存储一个中文字符之理解字符字节以及编码集
Java中的一个char采用的是Unicode编码集,占用两个字节,而一个中文字符也是两个字节,因此Java中的char是可以表示一个中文字符的. 但是在C/C++中由于采用的字符编码集是ASCII, ...
- 字符集与字符编码,java中的char和unicode
文章目录 基本单位转换 进制缩写与表示 字符.字符集.字符编码 ASCII码 全角 GBK.GB2312 为什么需要字符编码 UTF-8和Unicode的关系 java中的char 和unicode ...
- 浅聊一下Java中的char类型
什么是Unicode Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,也就是规定了二进制和字符的映射,以实现跨语言.跨平台进行文本转换.处理的要求,但是它并没有 ...
- JAVA中判断char是否是中文的几种方法
java中使用Unicode字符,所有字符均以2个字节存储,编码呢,前256个和ASCII 编码一致,汉字字符编码应该在20000以上也就说英文字符还是在大写字母 65-90 , 小写字母97-122 ...
- java中0x0f对应的字符是什么_常见字符的ASCII码,java中如何获取字符的ASCII码
一.常见字符的ASCII码 ASCII 码使用指定的7 位或8 位的二进制数组合来表示128 或256 种可能的字符. 标准ASCII 码也叫基础ASCII码,使用7 位二进制数(最高的1位二进制为0 ...
- Java中的字符集编码入门Java中的增补字符
转载自:http://jiangzhengjun.iteye.com/blog/512083 Java中的字符集编码入门Java中的增补字符 博客分类: 字符集编码 Java Java号称对Unico ...
- java中判断一个字符在字符串中出现的次数
源代码: //java中判断一个字符出现的次数//在下面字符串中查找有几个啊public static void testFindChar(){String str = "啊!我爱你中国!啊 ...
- java中的char类型
2019独角兽企业重金招聘Python工程师标准>>> 一:char的初始化 char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Un ...
- java中char类型_【考点】JAVA中的char类型
写在前面: 本周,在我们同学的刷题群里,一位同学上传了一道关于char的题,引起的不少同学的热议.热议的同时,我们也发现近乎一半的同学对char的基础知识一知半解,今天我们给大家一个浅显易懂的解释,赶 ...
最新文章
- vs2015使用GIt连接git.oschina.net/
- linux下confstr与uname函数_获取C库与内核信息
- Maven+Struts2+MyBatis+Spring搭建教程
- 基于Gitlab Jenkins Docker集群 微服务搭建自动化部署平台
- python解析库详解_PyQuery库详解
- UVA11729 Commando War【贪心】
- 数据结构笔记(十)-- 循环队列
- GlobalMapper 脚本应用(持续更新)
- 微软资深副总裁洪小文:人工智能十年预测(演讲全文、61PPT)
- 【多轮对话】多轮对话状态追踪技术综述
- win7搭建VM10虚拟机,搭建win7旗舰版64系统
- 卡尔曼滤波器的理解,C代码实现,和opencv里面KalmanFilter 的使用
- Kafka SASL配置 Demo测试
- 华为手机语音通话时断时续原因
- balsamiq原型工具
- SQL注入基础原理与案例(详细总结)
- 华为p40支持鸿蒙,华为P40来袭,支持鸿蒙系统,花粉直呼惊喜
- 目标检测(三)传统目标检测与识别的特征提取——基于HOG特征的目标检测原理
- php 解压文件中有中文,ZipArchive 解压中文文件乱码解决方案和疑惑
- 在KVM最小化搭建openstack平台 --快速部署openstack