黑马程序员技术交流社区

标题: "李四".getBytes() [打印本页]

作者: 李大伟    时间: 2013-2-17 11:41
标题: "李四".getBytes()
本帖最后由 李大伟 于 2013-2-19 14:51 编辑

谁给解释下这个 getBytes() 是什么意思,怎么用,感谢!!!
作者: 李培根    时间: 2013-2-17 12:09
将“李四”这个字符串转换成字节数组。
作者: 罗正荣    时间: 2013-2-17 12:22
额。。。楼主102万积分啊{:soso_e127:}
作者: 张晋瑜    时间: 2013-2-17 13:33
汗,告诉我你这积分怎么刷出来的,我就告诉你{:soso_e102:}
作者: 张豪杰    时间: 2013-2-17 15:26
String.getBytes()是返回字符串在操作系统默认编码格式下的字节数组。
String.getBytes(String decode)方法会根据指定的decode编码返回某字符串在该编码下的byte数组表示
比如
  1. byte[]  byt1="李四".getBytes();
  2. byte[]  byt2="李四".getBytes("GBK");
  3. byte[]  byt3="李四".getBytes("UTF-8");
  4. byte[]  byt4="李四".getBytes("ISO8859-1");
复制代码
以上代码分别返回”李四"这两个汉字在系统默认编码、GBK、UTF-8和ISO8859-1编码下的byte数组。

如果你对字符编码还存在疑惑的话,可以去看看毕老师的JAVA基础教程视频第21天的“字符编码"那一节
作者: 李洪因    时间: 2013-2-17 20:08
1 byte[] getBytes()           
使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
2 byte[] getBytes(Charset charset)           
使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。
3 void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin)           
已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 方法,该方法使用平台的默认字符集。
4 byte[] getBytes(String charsetName)           
使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
作者: 胥文    时间: 2013-2-17 22:40
楼主的“李四”.getBytes()就是将字符串“李四”使用默认的编码转化成byte数组
也就是说这是一个编码的过程要用到编码的方式(比如“GBK”,"UTF-8"等)
个人觉得此方法主要是注意该编码过程是使用什么编码方式,以免在解码时出现乱码
如果编码使用的“GBK”编码方式,而解码使用的“UTF-8"就用可能出错,特别是在网络传输中要理解这个编码方式
不然会出现乱码的
//比如在网路的一端用UTF-8编码

byte[] b = "李四".getBytes("UTF-8");
//在网络的另一端用GBK编码,此时就会出现乱码
System.out.println(new String(b,"GBK"));
作者: 李培根    时间: 2013-2-17 22:44
zhangjinyu1991 发表于 2013-2-17 13:33
汗,告诉我你这积分怎么刷出来的,我就告诉你

注册时间早的都是这个积分。
作者: 罗海清    时间: 2013-2-18 10:13
意思是将李四这两个字,化为字节数组,这个数组里面装的数字,就是编码
按照这些编码可以,查出相应的中文,也就是李四
作者: 易杰    时间: 2013-4-13 00:34
"李四"//用双引号括起来表示是一个字符串,在Java中,字符串是一个String类的对象。也就是说"李四"是一个String类的对象,而String类中有个getBytes() 方法。所以"李四"这个String类的对象,就能调用getBytes() 方法。因为对象具备哪些属性和方法,取决于这个对象所属的类中定义了哪些属性和方法。
getBytes() 方法的作用,就是将字符串对象转换成字节数组。
"李四".getBytes() 的意思是将"李四"字符串对象转换成字节数组




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2