Java 程式返回提供的位元組陣列的十六進位制值


以下是提供的位元組陣列 −

byte[] b = new byte[]{'x', 'y', 'z'};

我們在這裡建立了一個自定義方法“display”,並傳遞了位元組陣列值。相同的方法將位元組陣列轉換為十六進位制字串 −

public static String display(byte[] b1){
   StringBuilder strBuilder = new StringBuilder();
   for(byte val : b1){
      strBuilder.append(String.format("%02x", val&0xff));
   }
   return strBuilder.toString();
}

讓我們現在看看整個示例 −

示例

 線上演示

public class Demo {
   public static void main(String args[]) {
      byte[] b = new byte[]{'x', 'y', 'z'};
      /* byte array cannot be displayed as String because it may have non-printable
      characters e.g. 0 is NUL, 5 is ENQ in ASCII format */
      String str = new String(b);
      System.out.println(str);
      // byte array to Hex String
      System.out.println("Byte array to Hex String = " + display(b));
   }
   public static String display(byte[] b1){
      StringBuilder strBuilder = new StringBuilder();
      for(byte val : b1){
         strBuilder.append(String.format("%02x", val&0xff));
      }
      return strBuilder.toString();
   }
}

結果

xyz
Byte array to Hex String = 78797a

更新於: 30-7 月-2019

113 瀏覽

開啟您的 職業

完成課程後獲得認證

開始
廣告
© . All rights reserved.