把byte转化成string,必须经过编码。 

  例如下面一个例子: 

  

importjava.io.UnsupportedEncodingException;
  publicclass test{
  publicstatic void main(String g[]) {
  Strings = "12345abcd";
  byteb[] = s.getBytes();
  Stringt = b.toString();
  System.out.println(t);
  }
  }

  输出字符串的结果和字符串s不一样了. 

  经过以下方式转码就可以正确转换了: 

  

publicclass test{
  publicstatic void main(String g[]) {
  Strings = "12345abcd";
  byteb[] = s.getBytes();
  try{
  Stringt = new String(b);
  System.out.print(t);
  }catch (Exception e) {
  e.printStackTrace();
  }
  }
  }
 Stringstr = "String";
  byte[]byte1 = str.getBytes();
  Stringstr1 = new String(byte1);
  byte[]byte2 = str1.getBytes();
  Stringstr2 = 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输出的不一样呢? 

  Stringstr = "String"; 

  byte[]byte1 = str.getBytes(); 

  Stringstr1 = new String(byte1); 

  byte[]byte2 = str1.getBytes(); 

  ---------- 

  注意byte1是str得到的byte数组,而byte2是另一个字符串str1得到的数组 

  他们本身也是两个对象 

  直接打印实际上调用的是toString()方法,而toString()的默认实现是打印对象类型+hashCode() 

  [B表示byte数组 

  @表示之后的是地址 

  后面跟着的是hashCode,其实就是其虚拟机地址 

  所以这个结果也就是顺理成章了.

深入 JAVA里面关于byte数组和String之间的转换问题的更多相关文章

  1. 【delphi】Byte数组与String类型的转换

    string string = AnsiString = 长字符串,理论上长度不受限制,但其实受限于最大寻址范围2的32次方=4G字节: 变量Str名字是一个指针,指向位于堆内存的字符序列,字符序列起 ...

  2. byte[]数组和int之间的转换

    这里简单记录下两种转换方式: 第一种: 1.int与byte[]之间的转换(类似的byte short,long型) /** * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高 ...

  3. java里面byte数组和String字符串怎么转换

    //string 转 byte[] String str = "Hello"; byte[] srtbyte = str.getBytes(); // byte[] 转 strin ...

  4. java byte数组与String互转

      java byte数组与String互转 CreationTime--2018年7月6日14点53分 Author:Marydon 1.String-->byte[] 方法:使用String ...

  5. Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)

    Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...

  6. 【转】java中byte数组与int类型的转换(两种方式)----不错

    原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...

  7. Unity3D 集成 Face++ FacePlusPlus httpClient http协议 byte数组转string

    //開始由于要实现跨平台.考虑过用curl封装c++的dll(android *.so)的方式,在c#Dllimport实现 //后来发现Unity3D本身支持http协议.且face++的api都是 ...

  8. Java 基础类型转换byte数组, byte数组转换基础类型

    Java 基础类型转换byte数组, byte数组转换基础类型 Java类型转换 java类对象转化为byte数组

  9. C# byte[]数组和string的互相转化 (四种方法)

    C# byte[]数组和string的互相转化 (四种方法) 第一种 [csharp] view plain copy string str = System.Text.Encoding.UTF8.G ...

随机推荐

  1. Hibernate异常之关键字错误

    三月 08, 2018 7:50:25 下午 org.hibernate.tool.schema.internal.ExceptionHandlerLoggedImpl handleException ...

  2. JavaScript Window Navigator

    window.navigator 对象包含有关访问者浏览器的信息. Window Navigator window.navigator 对象在编写时可不使用 window 这个前缀. 实例 <d ...

  3. 导出和导入Docker容器

    导出容器 如果要导出本地某个容器,可以使用 docker export 命令. $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATU ...

  4. android注解入门 并来自己写一个框架

    介绍 这里我带大家来学习一下注解 并且用来写下一个模仿xUtils3 中View框架 此框架 可以省略activity或者fragment的 findViewById 或者设置点击事件的烦恼 我正参加 ...

  5. blog写作心得体会

    虽然写blog也挺久了,写出来的东西自己回顾的时候也会怀疑读者是否能看的明白,还是有种流水账的感觉,以后希望多从读者的角度出发.下面记录一些以后写博客的注意点. 具体关于某种技术点的小知识还有碰到的各 ...

  6. TCP的TIME_WAIT状态

    主动关闭的Socket端会进入TIME_WAIT状态,并且持续2MSL时间长度,MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时 ...

  7. Python实现八大排序算法(转载)+ 桶排序(原创)

    插入排序 核心思想 代码实现 希尔排序 核心思想 代码实现 冒泡排序 核心思想 代码实现 快速排序 核心思想 代码实现 直接选择排序 核心思想 代码实现 堆排序 核心思想 代码实现 归并排序 核心思想 ...

  8. Java基本语法-----java二维数组

    由于word里的样式在csdn上调太麻烦了,所以我再次贴图了,后面二维数组那里是文字的,大家将就看吧. 二维数组常见的操作: 1.遍历二维数组 2.对二维数组求和 class Demo { // 定义 ...

  9. Swift基础之设计折线坐标图

    最近添加了折线视图的样式,所以在这里用Swift语言重新再使用设计一下 首先设置纵坐标的数值是:体重 //体重        let weightLabel = UILabel.init(frame: ...

  10. iOS开发之WKWebView代替UIWebView

    前言 Xcode8发布以后,编译器开始不支持IOS7,所以很多应用在适配IOS10之后都不在适配IOS7了,其中包括了很多大公司,网易新闻,滴滴出行等.因此,我们公司的应用也打算淘汰IOS7. 支持到 ...