JAVA中3种将byte转换为String的方法

原文地址:http://www.cnblogs.com/521shina/archive/2009/03/19/1417204.html

HttpClient 类库中GetMethod类的getResponseBody方法返回的是byte[]类型,要操作起来不方便,我想把它转化成String类型。

查了网上的资料,有说法认为用这种方法比较好
BASE64Encoder enc=new BASE64Encoder();
String 转换后的string=enc.encode(byte数组);

参考http://hi.baidu.com/zhaolm/blog/item/397b0808bc6023d362d986f3.html/cmtid/e3a206f43cb6f9e87609d746

但是有的人说这种

BASE64Encoder是非官方JDK里面的类。虽然可以在JDK里能找到并使用,但是在API里查不到。这两个可能是SUN公司内部人使用的。SUN开头的包里面的类都找不到相关文档,所以里面可能都是非官方的类。出现警告也是非常合理和正常的,因为以后SUN可能会更新或这删除那些非官方的类,建议不要使用。

有这个缺点,又要导入jar包,挺麻烦的,所以就放弃采用它了。

于是又查了一个英文网站上说了3个方法,都比较简单。我用了第3种,目前看没什么问题。

摘自http://www.javadb.com/convert-byte-to-string

/**
 *
 * @author javadb.com
 */
public class Main {
    
    /**
     * Example method for converting a byte to a String.
     */
    public void convertByteToString() {
        
        byte b = 65;
        
        //Using the static toString method of the Byte class
        System.out.println(Byte.toString(b));

        //Using simple concatenation with an empty String
        System.out.println(b + "");
        
        //Creating a byte array and passing it to the String constructor
        System.out.println(new String(new byte[] {b}));
        
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main().convertByteToString();
    }
}
posted @ 2010-10-27 09:02  jmj  阅读(4271)  评论(0编辑  收藏  举报