首頁 >Java >java教程 >使用Java中的getBytes(Charset)方法將字串轉換為位元組數組

使用Java中的getBytes(Charset)方法將字串轉換為位元組數組

PHPz
PHPz轉載
2023-09-16 18:49:02767瀏覽

使用Java中的getBytes(Charset)方法將字串轉換為位元組數組

Java 程式設計涉及字串到位元組數組的轉換,這是一種用於多種目的的便捷技術,包括網路通訊或資料加密。為了實現這一點,String 類別提供了一系列用於此類轉換的方法,而 getBytes() 方法就是其中之一。值得注意的是,選擇適當的編碼至關重要,因為每種編碼在字元到位元組值映射時都採用不同的規則。

在本文中,我們將深入研究兩種使用 Java 的 getBytes() 方法將字串轉換為位元組數組的技術。此外,我們將對每種方法所採用的演算法進行廣泛的說明。

使用的方法

  • 方法 1 - 在這種方法中,我們將建立一個字串,然後使用 getBytes() 方法將其轉換為位元組數組。我們將在本範例中使用 UTF-8 編碼。

  • 方法 2 - 在這種方法中,我們將透過手動指定位元組值來建立位元組數組。然後,我們將使用 String 建構函數從位元組陣列建立一個 String。

文法

getBytes()方法是Java中String類別的成員。它需要一個參數,該參數是用於將字串編碼為位元組數組的字元集。 getBytes() 方法的語法如下 -

public byte[] getBytes(Charset charset)

演算法

在 Java 中利用 getBytes() 函數將字串轉換為位元組數組的方法可以簡化為幾個步驟 -

  • 步驟 1 - 使用 Charset 類別中的 forName() 方法實例化與所需編碼相對應的 Charset 物件。此步驟需要提供編碼名稱作為字串參數。

  • 步驟 2 - 呼叫 String 類別的 getBytes() 方法,同時將先前建立的 Charset 物件作為參數提供。此呼叫使用指定的編碼產生表示字串中字元的位元組數組。

  • 步驟 3 - 根據需要操作產生的位元組陣列。 Java 提供了透過其程式語言處理位元組數組的各種技術。

利用 getBytes() 函數是將字串轉換為 Java 位元組陣列的有效方法。它使您能夠指定在轉換過程中要使用的編碼。這一點至關重要,因為不同的編碼具有將字元對應到位元組值的不同準則。如果使用錯誤的編碼,可能會發生資料損壞。透過遵循上述演算法,可以確保他們的 String 能夠成功且安全地轉換為位元組數組。

方法 1

在這種方法中,我們首先建立一個希望轉換為位元組陣列的字串。然後,我們利用 String 類別的 getBytes() 方法將 String 轉換為位元組陣列。我們定義了要應用於轉換的編碼,在本例中為 UTF-8。為了確保位元組數組準確生成,我們將其列印出來。

下面是相同的程式碼。

範例

import java.nio.charset.Charset;

public class StringToByteArrayExample1 {
   public static void main(String[] args) {
      // Create a String
      String str = "Hello, world!";
        
      // Convert the String to a byte array using the UTF-8 encoding
      Charset utf8 = Charset.forName("UTF-8");
      byte[] byteArray = str.getBytes(utf8);
       
      // Print the byte array
      for (byte b : byteArray) {
         System.out.print(b + " ");
      }
   }
}

輸出

72 101 108 108 111 44 32 119 111 114 108 100 33

方法2

此方法包括手動輸入位元組值以建構位元組數組。然後使用 String 建構函數將位元組數組轉換為 String。

下面是相同的程式碼。

範例

import java.nio.charset.Charset;

public class StringToByteArrayExample2 {
   public static void main(String[] args) {
      // Create a byte array
      byte[] byteArray = {72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33};
        
      // Convert the byte array to a String using the UTF-8 encoding
      Charset utf8 = Charset.forName("UTF-8");
      String str = new String(byteArray, utf8);
        
      // Print the String
      System.out.println(str);
   }
}

輸出

Hello, world!

結論

本文介紹了 containsKey() 函數,用於確定雜湊圖中是否包含某個鍵。此方法接受一個鍵作為輸入,如果在 hashmap 中找到該鍵,則傳回 true;否則,傳回 false。

以上是使用Java中的getBytes(Charset)方法將字串轉換為位元組數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除