java中的char占几个字节实例分析
java中的char占几个字节实例分析
1:“字节”是byte,“位”是bit ;
2: 1 byte = 8 bit ;
char 在Java中是2个字节。java采用unicode,2个字节(16位)来表示一个字符。
例子代码如下:
public class Test { public static void main(String[] args) { String str= "中"; char x ='中'; byte[] bytes=null; byte[] bytes1=null; try { bytes = str.getBytes("utf-8"); bytes1 = charToByte(x); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("bytes 大小:"+bytes.length); System.out.println("bytes1大小:"+bytes1.length); } public static byte[] charToByte(char c) { byte[] b = new byte[2]; b[0] = (byte) ((c & 0xFF00) >> 8); b[1] = (byte) (c & 0xFF); return b; } }
运行结果:
bytes 大小:3
bytes1大小:2
java是用unicode来表示字符,"中"这个中文字符的unicode就是2个字节。
String.getBytes(encoding)方法是获取指定编码的byte数组表示,
通常gbk/gb2312是2个字节,utf-8是3个字节。
如果不指定encoding则取系统默认的encoding。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Java中char[]输出不是内存地址的原因详解
前言 Java中共有八种基本数据类型:byte,int,short,long,float,double,char,boolean. 计算机中的基础数据单位是bit, 1byte=8bit. 数据类型 存储大小 举例 注释 包装类 byte 1byte 3 字节 Byte int 4byte 4 整数 Integer short 2bytes 5 短整数 Short long 8bytes 6 长整数 Long float 4bytes 1.3 单精度浮点型 Float double 8bytes
-
Java中char数组(字符数组)与字符串String类型的转换方法
本文实例讲述了Java中char数组(字符数组)与字符串String类型的转换方法.分享给大家供大家参考,具体如下: 在Java语言编程时,使用"口令字段"jPasswordField组件时,如果要获得密码值,就需要使用该组件的getPassword()方法.jPasswordField的getPassword()方法返回一个char类型的数组,我们经常需要将这个数组转换为String类型,以便进行诸如口令匹配或口令赋值等操作.这时,就需要将char类型的数组进行转换.当然也经常会遇到
-
java中的char占几个字节实例分析
java中的char占几个字节实例分析 1:"字节"是byte,"位"是bit : 2: 1 byte = 8 bit : char 在Java中是2个字节.java采用unicode,2个字节(16位)来表示一个字符. 例子代码如下: public class Test { public static void main(String[] args) { String str= "中"; char x ='中'; byte[] bytes=nu
-
java中request对象各种方法的使用实例分析
本文实例讲述了java中request对象各种方法的使用.分享给大家供大家参考,具体如下: request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息.request对象是javax.servlet.http.HttpServletRequest类的实现实例. request对象封装了浏览器的请求信息,通过request对象的各种方法可以获取客户端以及用户提交的各项请求信息. 使用request对象获取客户端提交的请求参数的常用方法如下: 1.String getPa
-
Java中的匿名对象定义与用法实例分析
本文实例讲述了Java中的匿名对象定义与用法.分享给大家供大家参考,具体如下: 一 点睛 匿名对象是指没有名字的对象.实际上,对于对象实例化操作来讲,对象真正有用的部分是在堆内存中,而栈内存中只是保存了一个对象的引用名称(严格来讲是对象在堆内存的地址),所谓匿名对象是指,只开辟了堆内存空间,而没有栈内存指向的对象. 二 实战 1 代码 public class NoNameObject { public void say() { System.out.println("匿名对象是只开辟了堆内存空
-
Java中线程死亡的几种情况实例分析
Java线程会议如下三种方式结束,结束后就处于死亡状态 1.run()或者call()方法执行完成,线程正常结束: 2.线程抛出一个未捕获的Exception或Error: 3.直接调用该线程的stop()方法来结束该线程: 注意:当主线程结束时,其他线程不受任何影响,并不会随之结束.一旦子线程启动起来后,它就拥有和主线程相同的地位,不会受到主线程结束的影响. 为了测试某个线程是否已经死亡,可以调用线程对象的isAlive()方法,当线程处于就绪.运行.阻塞三种状态时,该方法将返回true:当线
-
详解Java语言中一个字符占几个字节?
题主要区分清楚内码(internal encoding)和外码(external encoding)就好了. 内码是程序内部使用的字符编码,特别是某种语言实现其char或String类型在内存里用的内部编码: 外码是程序与外部交互时外部使用的字符编码."外部"相对"内部"而言:不是char或String在内存里用的内部编码的地方都可以认为是"外部".例如,外部可以是序列化之后的char或String,或者外部的文件.命令行参数之类的. Java语
-
java中GZIP压缩解压类使用实例
java中GZIP压缩解压类使用实例 当我们客户端与服务端进行数据传输时需要走流量,为了节省流量我们常常需要写一个压缩类对数据进行压缩. 实例代码: import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStr
-
Java中对象的序列化详解及实例
Java中对象的序列化详解及实例 把java对象转化为字节序列的过程称为对象的序列化. 把字节序列恢复为java对象的过程称为对象的反序列化. 对象序列化的用途: 1.把对象的字节序列永久的保存到硬盘上,通常存放在一个文件中 2.在网络上传送对象的字节序列化 void writeObject(Object obj) 方法可对参数指定的obj对象进行序列化,把得到的字节序列写到一个目标输出流中(将指定的对象写入 ObjectOutputStream.) void readObject()方法 从
-
Java中BufferedReader类获取输入输入字符串实例
使用Scanner来取得使用者的输入很方便,但是它以空白来区隔每一个输入字符串,在某些时候并不适用,因为使用者可能输入一个字符串,中间会包括空白字元,而您希望取得完整的字符串. 您可以使用BufferedReader类别,它是java.io包中所提供的一个类,所以使用这个类时必须先import java.io包:使用BufferedReader对象的readLine()方法必须处理IOException异常(exception),异常处理机制是Java提供给程序设计人员捕捉程序中可能发生的错误所
-
Java中时间戳的获取和转换的示例分析
日期时间是Java一个重要的数据类型,常见的日期时间格式通常为"yyyy-MM-dd HH:mm:ss",但是计算机中存储的日期时间并非字符串形式,而是长整型的时间戳.因为字符串又占用空间又难以运算,相比之下,长整型只占用四个字节,普通的加减乘除运算更是不在话下,所以时间戳是最佳的日期时间存储方案. 获取时间戳的代码很简单,只需调用System类的currentTimeMillis方法即可,如下所示: // 从System类获取当前的时间戳 long timeFromSystem =
-
java中Class类的基础知识点及实例
1.说明 Class本身也是一个类. Class对象只能由系统确定. JVM中只有一个Class实例可以加载一个类. Class对应于JVM中加载的.class文件. 每一类的实例都会记住它是由哪个Class例子产生的. 通过Class,可以完全获得一个类中所有加载的结构. Class是Reflection的根源.对于任何你想动态加载和运行的类,只有先获得相应的Class对象. 2.实例 package com.volcano.reflection; import java.lang.annot
随机推荐
- 玩转-SQL2005数据库行列转换
- Windows Server 2003 虚拟主机的安全配置
- Python内置数据结构与操作符的练习题集锦
- 浅析javascript的return语句
- js setTimeout 参数传递使用介绍
- ExtJS 下拉多选框lovcombo
- 总结Visual Studio下ASP.NET模板化控件中的数据绑定
- PHP的魔术常量__METHOD__简介
- android解析JSON数据
- 与MSSQL对比学习MYSQL的心得(二)--显示宽度
- 详谈PHP面向对象中常用的关键字和魔术方法
- ajax请求json数据案例详解
- 基本jquery的控制tabs打开的数量的代码
- 头文件不宜定义变量的原因全面解析
- SQL语句的执行原理分析
- JavaScript资源预加载组件和滑屏组件的使用推荐
- jQuery中的select操作详解
- jQuery插件MovingBoxes实现左右滑动中间放大图片效果
- java实现简单美女拼图游戏
- getdate()函数的用法实例