java 將byte[]轉為各種進制的字符串


public void test() {
        byte[] bytes = new byte[10000000];
        for (int i = 0; i < 10000000; i++) {
            if (i%3 == 0) {
                bytes[i] = 0;
            } else {
                bytes[i] = 1;
            }            
        }
        
        System.out.println("可以轉換的進制范圍:" + Character.MIN_RADIX + "-" + Character.MAX_RADIX);  
        System.out.println("2進制:"   + binary(bytes, 2));  
        System.out.println("5進制:"   + binary(bytes, 5));  
        System.out.println("8進制:"   + binary(bytes, 8));  

        System.out.println("16進制:"  + binary(bytes, 16));  
        System.out.println("32進制:"  + binary(bytes, 32));  
        System.out.println("64進制:"  + binary(bytes, 64));// 這個已經超出范圍,超出范圍后變為10進制顯示  
          
        System.exit(0);  
    }
    
    /** 
     * 將byte[]轉為各種進制的字符串 
     * @param bytes byte[] 
     * @param radix 基數可以轉換進制的范圍(2-36),從Character.MIN_RADIX到Character.MAX_RADIX,超出范圍后變為10進制 
     * @return 轉換后的字符串 
     */  
    public static String binary(byte[] bytes, int radix){  
        return new BigInteger(1, bytes).toString(radix);// 這里的1代表正數  
    }  
View Code

 


免責聲明!

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



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