Java String getBytes() 方法將字符串編碼為字節序列並將其存儲在字節數組中。
String getBytes()
方法的語法是:
string.getBytes()
string.getBytes(Charset charset)
string.getBytes(String charsetName)
這裏,string
是String
類的對象。
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 getChars()用法及代碼示例
- Java String valueOf()用法及代碼示例
- Java String split()用法及代碼示例
- Java String strip()用法及代碼示例
- Java String substring()用法及代碼示例
- Java String replace()用法及代碼示例
- Java String contains()用法及代碼示例
- Java String regionMatches()用法及代碼示例
- Java String copyValueOf()用法及代碼示例
- Java String isEmpty()用法及代碼示例
- Java String toString()用法及代碼示例
- Java String endsWith()用法及代碼示例
- Java String lines()用法及代碼示例
- Java String repeat()用法及代碼示例
- Java String hashCode()用法及代碼示例
- Java String lastIndexOf()用法及代碼示例
- Java String equals()用法及代碼示例
- Java String replaceAll()用法及代碼示例
- Java String startsWith()用法及代碼示例
- Java String subSequence()用法及代碼示例
注:本文由純淨天空篩選整理自 Java String getBytes()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。