English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Der Java String getBytes() Methode encodiert den String in eine Byte-Sequenz und speichert sie im Byte-Array.
Syntax der Methode getBytes():
string.getBytes() string.getBytes(Charset charset) string.getBytes(String charsetName)
Die Methode getBytes() gibt ein Byte-Array zurück.
Wenn keine Parameter übergeben werden, encodiert getBytes() den String mit der Standard-Zeichenkodierung der Plattform.
import java.util.Arrays; class Main {}} public static void main(String[] args) { String str = "Java"; byte[] byteArray; //Konvertieren Sie den String in einen Byte-Array //Verwenden Sie die Standard-Zeichenkodierung der Plattform byteArray = str.getBytes(); System.out.println(Arrays.toString(byteArray)); } }
Output Result
[74, 97, 118, 97]
Note:Im obigen Beispiel haben wir die Arrays-Klasse verwendet, um den Byte-Array in einer lesbaren Form auszugeben. Dies hat nichts mit getBytes() zu tun.
Dies sind andere Methoden, die in CharSetJava verfügbar sind:
UTF-8 - Achtbit-UCS-Transformationsschema
UTF-16 - Sechzehnbit-UCS-Transformationsschema
UTF-16BE - Sechzehnbit-UCS-Transformationsschema, großes Byte-Ende
UTF-16LE - Sechzehnbit-UCS-Transformationsschema, kleines Byte-Ende
US-ASCII - Siebenbit-ASCII
ISO-8859-1 - ISO lateinische Schrift1Zeichen
import java.util.Arrays; import java.nio.charset.Charset; class Main {}} public static void main(String[] args) { String str = "Java"; byte[] byteArray; //Verwenden Sie UTF-8Kodierung durchführen byteArray = str.getBytes(Charset.forName("UTF"-8")); System.out.println(Arrays.toString(byteArray)); //Verwenden Sie UTF-16Kodierung durchführen byteArray = str.getBytes(Charset.forName("UTF"-16")); System.out.println(Arrays.toString(byteArray)); } }
Output Result
[74, 97, 118, 97] [-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]
Note:Im obigen Programm haben wir java.nio.charset.Charset importiert, um CharSet zu verwenden. Und wir haben die Arrays-Klasse importiert, um den Byte-Array in einer lesbaren Form auszugeben.
Man kann auch eine Zeichenfolge verwenden, um den Kodierungstyp von getBytes() zu spezifizieren. Wenn getBytes() auf diese Weise verwendet wird, muss der Code inim try ... catch-Block.
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)); //Incorrect Encoding //Throw Exception byteArray = str.getBytes("UTF-34 System.out.println(Arrays.toString(byteArray)); }) catch (Exception e) { System.out.println(e + "encoding is wrong"); } } }
Output Result
[74, 97, 118, 97] [-2, -1, 0, 74, 0, 97, 0, 118, 0, 97] java.io.UnsupportedEncodingException: UTF-34 encoding is wrong
Note:We have imported java.util.Arrays to print the byte array in a readable format. It has nothing to do with getBytes().