JAVA中3種將byte轉換為String的方法


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}));
        可以將byte轉換成a
    }
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        new Main().convertByteToString();
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM