java中一个char_java 中一个char包含几个字节
背景
char包含几个字节可能记得在上学的时候书上写的是2个字节,一直没有深究,今天我们来探究一下到底一个char多少个字节?
Char
char在设计之初的时候被用来存储字符,可是世界上有那么多字符,如果有1个字节,那么就意味着只能存储256中,显然不合适,而如果有两个字节,那么就可以存储65536种。这个数量符合大多数国家的语言字符的个数。于是Java团队默认使用unicode作为编码,一个char作为2个字节来存储。
这里就有两个问题了?
1. java的char一定会有两个字节吗?
2. 中文字符可以存储在char里面吗?
先来回答第一个问题。char一定是两个字节吗?不是的,这个跟我们选用的字符编码有关,如果采用”ISO-8859-1”编码,那么一个char只会有一个字节。如果采用”UTF-8”或者“GB2312”、“GBK”等编码格式呢?这几种编码格式采用的是动态长度的,如果是英文字符,大家都是一个字节。如果是中文,”UTF-8”是三个字节,而”GBK”和”GB2312”是两个字节。而对于”unicode”而言,无论如何都是两个字节。
然后再回答第二个问题,对于一个char如果用”ISO-8859-1”来存储的话,肯定无法存储一个中文,而对于”UTF-8”、“GB2312”、“GBK”而言大多数中文字符是可以存储的。
总结
char的长度和是否能存储中文字符是和编码格式有关的。对于我们在编码的时候如果跨平台编码时,应该在编码、解码的时候设置对应的格式,防止由于编解码导致的异常。
考点:剑指Offer----第一个只出现一次的字符
java中一个char_java 中一个char包含几个字节相关推荐
- java 中一个char包含几个字节
背景 char包含几个字节可能记得在上学的时候书上写的是2个字节,一直没有深究,今天我们来探究一下到底一个char多少个字节? Char char在设计之初的时候被用来存储字符,可是世界上有那 ...
- java中的char_java中的char是什么意思?
java中的char是什么意思? 发布时间:2020-05-15 23:12:27 来源:亿速云 阅读:360 作者:Leah java中的char是什么意思?除了程序员外大部分人都不太了解,今天小编 ...
- java怎么定义char_java定义一个char数组
i++){ System. out .println(arr[i]); } } } 运行结果: 1 2017.02.14 数组课后题 2.将一个字符数组的值 ( neusofteducation)拷贝 ...
- java 整型减去字符_Java:从char中减去’0’得到一个整数……为什么这个有效?...
这工作正常: int foo = bar.charAt(1) - '0'; 但这不是-因为bar.charAt(x)返回一个char: int foo = bar.charAt(1); 似乎从char ...
- java怎么统计随机数出现次数,Excel统计出现次数、个数的VBA代码 java中怎么判断一个字符串中包含某个字符或字...
延伸:java中怎么判断一个字符串中包含某个字符或字符 描述:...一个字符串中包含某个字符的单词说出现的次数 c#什么方法可以判断字符串中包含某个字符的个数? JAVA判断字符串数组中是否包含某字符 ...
- java中怎么表示数组中的某个值_简易Java(12):如何高效检查一个数组中是否包含某个值?...
如何检查一个数组(未排序)中是否包含某个特定的值?在Java中,这是一个非常有用并又很常用的操作.同时,在StackOverflow中,有时一个得票非常高的问题.在得票比较高的几个回答中,时间复杂度差 ...
- Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法。
Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积. 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法, ...
- java 检测表情符号_hutool工具包:判断一个字符串中是否包含emoji表情符号(emoji-java)...
需求: 判断一个字符串中是否包含emoji表情符号. 工具: hutool工具包,emoji-java工具包 cn.hutool hutool-all 5.3.7 com.vdurmont emoji ...
- Java 如何判断一个字符串中是否包含某一 子字符串
对于以上问题的解决,我一般使用String.indexOf("子串")的方式解决, 请看代码: public class IndexOfTest {public static v ...
最新文章
- Java中vector的用法
- 为什么非阻塞io性能更好_提高性能:流的非阻塞处理
- IntelliJ IDEA for Mac 在eclipse(MacOS)模式下的快捷键
- java 加密解密编程,java 加密解密容易实现
- “康园圈--互联网+校园平台“项目之成果展示及项目总结
- docker挂载文件躺过的坑
- haddler处理队列 netty_Netty的任务队列的Task的三种使用场景
- android 8.1没声音,RingtonePreference无法在Android 8.1上添加新的铃声
- Android eclipse中程序调试
- JAVA环境变量配置步骤及测试(JDK的下载、安装和环境配置教程)
- java丢硬币boolean_抛硬币模拟器
- 什么是计算机文化它与计算机技术有何区别,什么叫计算机文化?
- 龙芯3U板卡学习资料第706篇: GEC-2K1000 龙芯3U板卡
- 新手学习嵌入式开发要学什么
- 乡村振兴公益基金启动暨古茶树非遗保护公益行发布
- 华为android系统是什么意思,华为HarmonyOS与安卓系统有什么区别?一文了解
- JS中数组使用的方法
- Eclipse Maven Web工程报错:java.lang.ClassNotFoundException: ContextLoaderListener
- 流量精灵刷流量的实例教程
- 天梯赛2022年比赛试题,进阶题L2,登顶题L3试题(仅题目)基础题L1有代码,请看本专栏另一篇
热门文章
- linuxftp文件服务器,linux ftp文件服务器
- php框架加滑动条,IOS_iOS实现双向滑动条效果,最近做项目,碰到一种双向滑 - phpStudy...
- 计算机专业术语的通俗解释,计算机专业术语解释
- 华为畅享20不能升级鸿蒙,华为mate20可以升级鸿蒙os吗-mate20能不能更新鸿蒙系统...
- 苏宁大数据怎么运营_18个“硬核”数据告诉你,苏宁大数据如何火力全开护航618!...
- html与js二级菜单横排,JavaScript实现横向滑出的多级菜单效果
- linux基础命令怎么记,linux基础命令--笔记(示例代码)
- 川大计算机专业导师冯子亮,问问川大计算机研究生招收的小专业有哪些
- 极简风海报作品合集|过目不忘的海报大片,越看越过瘾
- 高端轻奢国风美妆海报模板,东方美到极致