首頁 > Java > java教程 > 主體

Java 字串 getBytes

WBOY
發布: 2024-08-30 15:36:06
原創
447 人瀏覽過

Java中的getBytes()方法被定義為「將字串轉換為陣列的位元組」。 getBytes() 方法傳回 byte[] 陣列。 Java 中的 getBytes() 方法僅適用於字串。位元組數組中的每個字串值都會轉換為其等效的 ASCII(美國資訊交換標準代碼)值。我們可以說它是資料的編碼形式,以防止對資料進行未知操作。

即時應用:當我們想要將字串轉換為位元組數組時,getBytes() 方法就派上用場了。

開始您的免費軟體開發課程

網頁開發、程式語言、軟體測試及其他

getBytes() 在 Java 中如何運作?

Java getBytes() 方法透過 3 種方式基於字串值工作:

  • public byte[] getBytes()

文法:

String str="Some String";
Byte[] byteArray=Str.getBytes();
登入後複製
  • public byte[] getBytes(String string) 拋出 UnsupportedEncodingException。 java應用程式中支援Charset的標準如下:
  • US-ASCII:它是 7 位元 ASCII 字元。
  • ISO-8859-1:它是 ISO(印度標準組織)拉丁文字母。
  • UTF-8:它是一種 8 位元通用編碼字元集格式。
  • UTF-16BE:這是一種按大端順序排列的 16 位元通用編碼字元集格式。
  • UTF-16LE:這是按小端順序排列的 16 位元通用編碼字元集。
  • UTF-16: 16 位元通用編碼字元集格式。

文法:

String str=”UTF-16”;
Byte[] byteArray=Str.getBytes();
登入後複製
注意:如果給定的資料不可轉換,則會拋出 UnsupportedEncodingException 異常
  • public byte[] getBytes(Charset 字元集)

文法:

Byte[] byteArray=Str.getBytes(“ASCII”);
登入後複製

Java String getBytes 範例

下面給了 Java String getBytes 的範例:

範例#1

public byte[] getBytes()

代碼:

package com.getbytes;
public class GetBytesOfNames {
public static void main(String args[]) {
String name = "Paramesh"; /// defining a string
byte[] nameByteArray = name.getBytes(); // converting string into byte array
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
}
}
登入後複製

輸出:

Java 字串 getBytes

說明:

  • 正如您在輸出中看到的那樣,透過應用 getBytes() 方法,相應的字元給出了其等效的 ASCII 代碼。

範例#2

public byte[] getBytes()

代碼:

package com.getbytes;
public class GetBytesOfSpaceValues{
public static void main(String args[]) {
String name = "This is Amardeep"; /// defining a string
byte[] nameByteArray = name.getBytes(); // converting string into byte array
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
}
}
登入後複製

輸出:

Java 字串 getBytes

說明:

  • 正如您在輸出中看到的那樣,透過應用 getBytes() 方法,相應的字元給出了其等效的 ASCII 代碼。
  • 即使是空格也有 ASCII 值。

範例#3

public byte[] getBytes(String string)

代碼:

package com.getbytes;
import java.io.UnsupportedEncodingException;
public class GetBytesString {
public static void main(String args[]) {
String name = "Amardeep"; // defining a string
byte[] nameByteArray;
try {
nameByteArray = name.getBytes("UTF-8");
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // converting string into byte array
}
}
登入後複製

輸出:

Java 字串 getBytes

說明:

  • 正如您在輸出中看到的那樣,透過應用 getBytes() 方法,相應的字元給出了其等效的 UTF-8 程式碼。

範例#4

public byte[] getBytes(String string)

代碼:

package com.getbytes;
import java.io.UnsupportedEncodingException;
public class GetBytesOfNames {
public static void main(String args[]) {
String name = "Amardeep is smart"; // defining a string
byte[] nameByteArray;
try {
nameByteArray = name.getBytes("UTF-8");
System.out.println("=========Coverting String into byte[] array========");
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
String string=new String(nameByteArray);//converting byte array into string
System.out.println("=========Coverting byte[] into original string========");
System.out.println(string);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // converting string into byte array
登入後複製

輸出:

Java 字串 getBytes

說明:

  • 如您在輸出中所看到的,透過應用 getBytes() 方法,對應的字元給出了其等效的 UTF-8 程式碼。
  • UTF-8位元組數組再次轉換為原始字串。結論是原始資訊不會遺失。

範例#5

public byte[] getBytes(Charset 字元集)

代碼:

package com.getbytes;
import java.nio.charset.Charset;
public class GetBytesCharSet {
public static void main(String args[]) {
String name = "Hello"; // defining a string
byte[] nameByteArray = name.getBytes(Charset.forName("ASCII"));
System.out.println("=========Coverting String into byte[] array========");
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
}
}
登入後複製

輸出:

Java 字串 getBytes

說明:

  • 正如您在輸出中看到的那樣,透過應用 getBytes() 方法,相應的字元給出了其等效的 ASCII 代碼。

範例#6

public byte[] getBytes(Charset 字元集)

代碼:

package com.getbytes;
import java.nio.charset.Charset;
public class GetBytesOfCharSetAndString {
public static void main(String args[]) {
String name = "Hello Amardeep"; // defining a string
byte[] nameByteArray = name.getBytes(Charset.forName("ASCII"));
System.out.println("=========Coverting String into byte[] array========");
for (int i = 0; i < nameByteArray.length; i++) {// iterating byte array values
System.out.println(name.charAt(i) + " character byte value =>" + nameByteArray[i]);// displaying values
}
String string=new String(nameByteArray);
System.out.println("=========Coverting String into byte[] array========");
System.out.println(string);
}
}
登入後複製

輸出:

Java 字串 getBytes

說明:

  • 正如您在輸出中看到的那樣,透過應用 getBytes() 方法,相應的字元給出了其等效的 ASCII 代碼。
  • ASCII 碼位元組數組再次轉換為原始字串。結論是原始資訊不會遺失。

結論

基於 getBytes()、getBytes(String string) 和 getBytes(Charset characterSet) 可以將 String 轉換為其等效的 ASCII 碼、UTF 碼、ISO 碼。

以上是Java 字串 getBytes的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!