當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java String getBytes()用法及代碼示例


Java String getBytes() 方法將字符串編碼為字節序列並將其存儲在字節數組中。

String getBytes() 方法的語法是:

string.getBytes()
string.getBytes(Charset charset)
string.getBytes(String charsetName)

這裏,stringString 類的對象。

getBytes() 方法返回一個字節數組。

1.getBytes()不帶任何參數

如果您不傳遞任何參數,getBytes() 將使用平台的默認字符集對字符串進行編碼。

示例:getBytes() 沒有任何參數

import java.util.Arrays;

class Main {
  public static void main(String[] args) {

    String str = "Java";
    byte[] byteArray;

    // convert the string to a byte array
    // using platform's default charset
    byteArray = str.getBytes();
    System.out.println(Arrays.toString(byteArray));
  }
}

輸出

[74, 97, 118, 97]

注意:我們使用了Arrays上麵示例中的類以可讀形式打印字節數組。它與getBytes()。

2.getBytes()帶CharSet參數

以下是java中可用的不同CharSet

  • UTF-8- Eight-bit UCS 轉換格式
  • UTF-16- 十六位 UCS 轉換格式
  • UTF-16BE- 十六位 UCS 轉換格式,大端字節序
  • UTF-16LE- 十六位 UCS 轉換格式,little-endian 字節順序
  • US-ASCII- Seven-bit ASCII
  • ISO-8859-1- ISO 拉丁字母 1 號

示例:getBytes() 使用 CharSet 參數

import java.util.Arrays;
import java.nio.charset.Charset;

class Main {
  public static void main(String[] args) {

    String str = "Java";
    byte[] byteArray;

    // using UTF-8 for encoding
    byteArray = str.getBytes(Charset.forName("UTF-8"));
    System.out.println(Arrays.toString(byteArray));

    // using UTF-16 for encoding
    byteArray = str.getBytes(Charset.forName("UTF-16"));
    System.out.println(Arrays.toString(byteArray));
  }
}

輸出

[74, 97, 118, 97]
[-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]

注意:在上麵的程序中,我們已經導入java.nio.charset.Charset使用CharSet.而且,我們已經導入了Arrays類以可讀的形式打印字節數組。

3.getBytes()帶字符串參數

您還可以使用字符串將編碼類型指定為getBytes()。當您以這種方式使用 getBytes() 時,您必須將代碼包裝在 try...catch block 中。

示例:getBytes() 帶字符串參數

import java.util.Arrays;

class Main {
  public static void main(String[] args) {

    String str = "Java";
    byte[] byteArray;

    try {
      byteArray = str.getBytes("UTF-8");
      System.out.println(Arrays.toString(byteArray));

      byteArray = str.getBytes("UTF-16");
      System.out.println(Arrays.toString(byteArray));

      // wrong encoding
      // throws an exception
      byteArray = str.getBytes("UTF-34");
      System.out.println(Arrays.toString(byteArray));

    } catch (Exception e) {
      System.out.println(e + " encoding is wrong");
    }

  }
}

輸出

[74, 97, 118, 97]
[-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]
java.io.UnsupportedEncodingException: UTF-34 encoding is wrong

注意:我們導入了 java.util.Arrays 以以可讀的形式打印字節數組。它與getBytes().

相關用法


注:本文由純淨天空篩選整理自 Java String getBytes()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。