博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
string
阅读量:5942 次
发布时间:2019-06-19

本文共 1597 字,大约阅读时间需要 5 分钟。

JAVA里面关于byte数组和String之间的转换问题

  引自:http://soniccyj.bokee.com/6175850.html
  JAVA里面关于byte数组和String之间的转换问题
  把byte转化成string,必须经过编码。
  例如下面一个例子:
  import java.io.UnsupportedEncodingException;
  public class test{
  public static void main(String g[]) {
  String s = "12345abcd";
  byte b[] = s.getBytes();
  String t = b.toString();
  System.out.println(t);
  }
  }
  输出字符串的结果和字符串s不一样了.
  经过以下方式转码就可以正确转换了:
  public class test{
  public static void main(String g[]) {
  String s = "12345abcd";
  byte b[] = s.getBytes();
  try {
  String t = new String(b);
  System.out.print(t);
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
  }
  引自:http://topic.csdn.net/t/20050404/10/3906398.html
  String str = "String";
  byte[] byte1 = str.getBytes();
  String str1 = new String(byte1);
  byte[] byte2 = str1.getBytes();
  String str2 = new String(byte2);
  System.out.println("str<<<" + str);
  System.out.println("byte1<<<" + byte1);
  System.out.println("str1<<<" + str1);
  System.out.println("byte2<<<" + byte2);
  System.out.println("str2<<<" + str2);
  -------------------------------------
  输出结果
  str<<<String
  byte1<<<[B@192d342
  str1<<<String
  byte2<<<[B@6b97fd
  str2<<<String
  想请教为什么两个byte输出的不一样呢?
  String str = "String";
  byte[] byte1 = str.getBytes();
  String str1 = new String(byte1);
  byte[] byte2 = str1.getBytes();
  ----------
  注意byte1是str得到的byte数组,而byte2是另一个字符串str1得到的数组
  他们本身也是两个对象
  直接打印实际上调用的是toString()方法,而toString()的默认实现是打印对象类型+hashCode()
  [B表示byte数组
  @表示之后的是地址
  后面跟着的是hashCode,其实就是其虚拟机地址
  所以这个结果也就是顺理成章了.

转载于:https://www.cnblogs.com/alibabaidu/p/3255230.html

你可能感兴趣的文章
基础复习-算法设计基础 | 复杂度计算
查看>>
debian、ubuntu系统下,常用的下载工具
查看>>
带以太网的MicroPython开发板:TPYBoardv201温湿度上传实例
查看>>
OSGI企业应用开发(十二)OSGI Web应用开发(一)
查看>>
Python 以指定概率获取元素
查看>>
微信公众平台图文教程(二) 群发功能和素材管理
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
wdcp 安装
查看>>
asterisk配置
查看>>
GA操作步骤和技巧(二)——用户行为分析
查看>>
shell中while循环里使用ssh的注意事项
查看>>
SHELL获取计算机外网ip的几种写法
查看>>
博客正在搬迁中
查看>>
触发器与存储过程的区别
查看>>
我的友情链接
查看>>
centos搭建supervisor
查看>>
linux日志分割
查看>>
我的友情链接
查看>>
Spring学习资料之 依赖注入(一)
查看>>
安装win7提示安装程序无法创建新的系统分区和定位现有系统分区
查看>>