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();

}

}

}

引用:

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<<

System.out.println("byte1<<

System.out.println("str1<<

System.out.println("byte2<<

System.out.println("str2<<

-------------------------------------

输出结果

str<<

byte1<<

str1<<

byte2<<

str2<<

想请教为什么两个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,其实就是其虚拟机地址

posted on 2009-09-23 14:19 forgood 阅读(2910) 评论(0)  编辑  收藏 所属分类: java

java byte数组string_byte数组和String之间的转化相关推荐

  1. byte[] 数组和字符串的转换,与byte[] 数组和int类型的之间的转化

    我们先来看看byte bool  int ushort  等的定义 首先时byte[]数组与string之间的转换 string 转换位byte[] 数组 string str = "1-1 ...

  2. [小技巧][JAVA][转换]字符数组char[]与字符串String之间互相转换

    1.字符数组转为字符串 方法1:直接在构造String时转换. char[] data = {'a', 'b', 'c'}; String str = new String(data); 方法2:调用 ...

  3. java byte 二维数组_[编程入门]二维数组的转置-题解(Java代码)

    解题思路: 注意事项: 参考代码:import java.util.Scanner; public class Main { public static void main(String[] args ...

  4. java byte追加_byte数组追加 java

    package com.yyy.test; import java.util.zip.CRC32; public class TestJava { public static void main(St ...

  5. java byte[] 文件流 转换成string是乱码_Java学习--IO(二)、多线程

    1.标准输入流 标准输入流是指从标准输入设备流向程序的数据. Java利用http://System.in来得到一个InputStream字节输入流 public static void main(S ...

  6. Java中如何实现Date与String之间的数据类型转换

    String 数据类型转换成 Date String inputDate = "2021-04-11";Date outputDate = null;SimpleDateForma ...

  7. Numpy中的数组、行/列向量及其之间的转化

    1.array数组 [In] import numpy as np [In] a = np.array([1,2,3]) #一个[]对应的是既不是行向量也不是列向量,而是一个数组. [Out] arr ...

  8. python string转int_Python int与string之间的转化

    温馨提示:本文共747个字,读完预计2分钟. Python源代码: print('=========string 转 int==============') a52 = '12' print('十进制 ...

  9. java byte数组与String互转

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

最新文章

  1. ISAPI在IIS7上的配置
  2. kvm虚拟服务器备份,OpenStack KVM虚拟机实例磁盘的备份脚本
  3. 改变电子商务行业业务的人工智能趋势
  4. KMP算法的实现以及改进
  5. linux引导程序切换
  6. android中的5个布局方式
  7. BERT在文档级排序中的应用
  8. phpstorm安装_快速打造自己的PHPStorm主题
  9. mysql btree检索策略_MySQL之Btree索引和HASH索引的区别以及索引优化策略
  10. MongoDB常用使用场景介绍
  11. lnmp 备份mysql_mysql全量备份与增量备份
  12. 前端本地使用线上数据
  13. python: glob模块
  14. 广东IPTV机顶盒安装第三方应用
  15. uniapp使用阿里巴巴在线图标库
  16. Ajax的回调函数(callback)
  17. java use g1_深入理解 Java G1 垃圾收集器
  18. ORR R0,R0,#R1_nF:OR:R1_iA
  19. 计算机主机英语怎么说,电脑里的 属性 英语怎么说
  20. JAVA外卖订餐系统毕业设计 开题报告

热门文章

  1. React后台管理系统-登录页面
  2. 前端HTML以及HTML5(基本标签)
  3. csharp: ODP.NET,System.Data.OracleClient(.net 4.0) and System.Data.OleDb读取Oracle g 11.2.0的区别...
  4. Tomcat-部署多个项目(不同端口)
  5. Numpy数组的保存与读取方法
  6. ubuntu 使用apt-get install 安装php5.6--php7
  7. python web开发-flask访问请求数据request
  8. .Net Core 部署到 CentOS7 64 位系统中的步骤
  9. 双足机器人简单步态生成
  10. Linux LVM学习总结——扩展卷组VG