把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. Numpy函数学习--genfromtxt函数

    genfromtxt函数 今天学习时遇到了genfromtxt函数 world_alcohol = numpy.genfromtxt("world_alcohol.txt",del ...

  2. Docker常见仓库Ubuntu

    Ubuntu 基本信息 Ubuntu 是流行的 Linux 发行版,其自带软件版本往往较新一些. 该仓库提供了 Ubuntu从12.04 ~ 14.10 各个版本的镜像. 使用方法 默认会启动一个最小 ...

  3. Python3 多线程

    多线程类似于同时执行多个不同程序,多线程运行有如下优点: 使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进 ...

  4. Android View框架总结(七)View事件分发机制

    请尊重分享成果,转载请注明出处: http://blog.csdn.net/hejjunlin/article/details/52282833 View布局告一段落,从本篇开始View事件相关分析, ...

  5. [ExtJS5学习笔记]第二十四节 Extjs5中表格gridpanel或者表单数据后台传输remoteFilter设置

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/39667533 官方文档:http://docs.sencha.com/extjs/5. ...

  6. shell 数据流重定向操作符总结

    最近看了鸟哥私房菜关于shell数据流重定向的内容,总结一下. 操作符: 1.标准输入(stdin):代码为0,符号:< 或者<< 2.标准输出(stdout):代码为1,符号:&g ...

  7. iOS下JS与OC互相调用(二)--WKWebView 拦截URL

    在上篇文章中讲述了使用UIWebView拦截URL的方式来处理JS与OC交互. 由于UIWebView比较耗内存,性能上不太好,而苹果在iOS 8中推出了WKWebView. 同样的用WKWebVie ...

  8. 百度地图隐藏缩放控件比例尺Logo

    对于百度地图最新版V3.7.3,以前的隐藏控件方法失效,可用以下方法隐藏: 1.隐藏缩放控件: mMapView.showZoomControls(false); 2.隐藏比例尺: mMapView. ...

  9. java根据概率生成数字

    /** * JAVA 返回随机数,并根据概率.比率 * @author zhanglei * */ public class MathRandom { /** * 0出现的概率为%50 */ publ ...

  10. 【一天一道LeetCode】#125. Valid Palindrome

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...