zoukankan      html  css  js  c++  java
  • string

    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,其实就是其虚拟机地址
      所以这个结果也就是顺理成章了.

  • 相关阅读:
    「HAOI2015」「LuoguP3178」树上操作(树链剖分
    「LuoguP3865」 【模板】ST表 (线段树
    「LuoguP3384」【模板】树链剖分
    「网络流24题」「Codevs1237」 餐巾计划问题
    「LuoguP1799」 数列_NOI导刊2010提高(06)
    「咕咕网校
    「数论」逆元相关
    「SHOI2007」「Codevs2341」 善意的投票(最小割
    「BZOJ3438」小M的作物(最小割
    「NOIP2005」「Codevs1106」篝火晚会
  • 原文地址:https://www.cnblogs.com/alibabaidu/p/3255230.html
Copyright © 2011-2022 走看看