黑马程序员技术交流社区

标题: java 字节转换字符串问题 [打印本页]

作者: ★忙碌★    时间: 2013-8-31 07:51
标题: java 字节转换字符串问题
本帖最后由 ★忙碌★ 于 2013-8-31 14:34 编辑

java中,如何将一个字节数组转换成字符串
作者: 第一印象    时间: 2013-8-31 08:41
字节转换成字符串肯定只有字符串知道怎么转,所以需要到字符串的类中找答案,查阅API可以发现,在构造字符串的时候就提供了方法:new String(需要转换的字节数组,编码格式);

以下是一个字符串跟字节数据之间的转换小Demo:

  1. import java.io.UnsupportedEncodingException;

  2. public class TestDemo  {
  3.     public static void main(String[] args) throws UnsupportedEncodingException{
  4.         //定义字符串
  5.             String str1 = "张三";
  6.             //定义字节数组接受字符串转换后的自借宿据
  7.         byte[] buf = str1.getBytes("UTF-8");
  8.         //打印查看一下被转成字节的字符串到底是个什么东东
  9.         for(int x=0; x<buf.length; x++){
  10.                 if(x==buf.length-1){
  11.                         System.out.println(buf[x]);
  12.                 }
  13.                 else{
  14.                         System.out.print(buf[x]+",");
  15.                 }
  16.                        
  17.         }
  18.         //将字节数组中的数据转回字符串
  19.         String str2 = new String(buf,"UTF-8");
  20.         System.out.println("str2="+str2);
  21.     }
  22. }
复制代码

作者: xiangzi2008006    时间: 2013-8-31 08:41
比如你定义的字节数组是byte[] buf = new byte[1024];实际存储的长度是len。
直接调用String的构造方法,里面有3个参数是字节数组、字节数组起始位置、字节数组存储的字节实际长度
String str = new String(buf,0,len);

作者: itachi    时间: 2013-8-31 09:35
用String的构造方法
String(byte[] bytes, int offset, int length)
          通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。
这种东西查一下API文档好了
作者: 薛鹏鹏    时间: 2013-8-31 14:20
如果您的问题已经解决
请更改分类未解决为已解决
保持队形,谢谢合作

详情参考 如何修改分类





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2