logo

Java-tekenreeks getBytes()

De Java String-klasse getBytes() methode codeert een string in de reeks bytes en bewaart deze in een array van bytes.

Handtekening

Er zijn drie varianten van de getBytes()-methode. De handtekening of syntaxis van de string getBytes()-methode wordt hieronder gegeven:

 public byte[] getBytes() public byte[] getBytes(Charset charset) public byte[] getBytes(String charsetName)throws UnsupportedEncodingException 

Parameters

charset / charsetName - De naam van een tekenset die door de methode wordt ondersteund.

Geeft terug

Volgorde van bytes.

Uitzondering gooit

Niet-ondersteundeEncodingException: Het wordt gegenereerd als de genoemde tekenset niet door de methode wordt ondersteund.

Interne implementatie

 public byte[] getBytes() { return StringCoding.encode(value, 0, value.length); } 

Stringklasse getBytes() Methode Voorbeeld

De parameterloze methode getBytes() codeert de tekenreeks met behulp van de standaardtekenset van het platform, namelijk UTF - 8. De volgende twee voorbeelden laten hetzelfde zien.

10 miljoen

Bestandsnaam: StringGetBytesExample.java

 public class StringGetBytesExample{ public static void main(String args[]){ String s1=&apos;ABCDEFG&apos;; byte[] barr=s1.getBytes(); for(int i=0;i <barr.length;i++){ system.out.println(barr[i]); } }} < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> 65 66 67 68 69 70 71 </pre> <h2>Java String class getBytes() Method Example 2</h2> <p> <strong>FileName:</strong> StringGetBytesExample2.java</p> <p>The method returns a byte array that again can be passed to the String constructor to get String.</p> <pre> public class StringGetBytesExample2 { public static void main(String[] args) { String s1 = &apos;ABCDEFG&apos;; byte[] barr = s1.getBytes(); for(int i=0;i <barr.length;i++){ system.out.println(barr[i]); } getting string back s2="new" string(barr); system.out.println(s2); < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> 65 66 67 68 69 70 71 ABCDEFG </pre> <h2>Java String class getBytes() Method Example 3</h2> <p>The following example shows the encoding into a different charset.</p> <p> <strong>FileName:</strong> StringGetBytesExample3.java</p> <pre> // Import statement import java.io.*; public class StringGetBytesExample3 { // main method public static void main(String argvs[]) { // input string String str = &apos;Welcome to JavaTpoint.&apos;; System.out.println(&apos;The input String is : &apos;); System.out.println(str + &apos;
&apos;); // inside try block encoding is // being done using different charsets try { 16 - bit UCS Transformation format byte[] byteArr = str.getBytes(&apos;UTF-16&apos;); System.out.println(&apos;After converted into UTF-16 the String is : &apos;); for (int j = 0; j <bytearr.length; 16 j++) { system.out.print(bytearr[j]); } system.out.println('
'); big endian byte order, - bit ucs transformation format byte[] bytearr1="str.getBytes(&apos;UTF-16BE&apos;);" system.out.println('after converted into utf-16be the string is : '); for (int j="0;" < bytearr1.length; system.out.print(bytearr1[j]); iso latin alphabet bytearr2="str.getBytes(&apos;ISO-8859-1&apos;);" iso-8859-1 bytearr2.length; system.out.print(bytearr2[j]); little bytearr3="str.getBytes(&apos;UTF-16LE&apos;);" utf-16le bytearr3.length; system.out.print(bytearr3[j]); catch (unsupportedencodingexception g) system.out.println('unsupported character set' + g); pre> <p> <strong>Output:</strong> </p> <pre> The input String is : Welcome to JavaTpoint. After converted into UTF-16 the String is : -2-10870101010809901110109010103201160111032074097011809708401120111010501100116046 After converted into UTF-16BE the String is : 0870101010809901110109010103201160111032074097011809708401120111010501100116046 After converted into ISO-8859-1 the String is : 871011089911110910132116111327497118978411211110511011646 After converted into UTF-16LE the String is : 8701010108099011101090101032011601110320740970118097084011201110105011001160460 </pre> <h2>Java String class getBytes() Method Example 4</h2> <p>The following example shows when the charset is not supported by the getBytes() method, UnsupportedEncodingException is thrown.</p> <p> <strong>FileName:</strong> StringGetBytesExample4.java</p> <pre> public class StringGetBytesExample4 { // main method public static void main(String argvs[]) { // input string String str = &apos;Welcome to JavaTpoint.&apos;; System.out.println(&apos;The input String is : &apos;); System.out.println(str + &apos;
&apos;); // encoding into UTF - 17 byte[] byteArr = str.getBytes(&apos;UTF-17&apos;); System.out.println(&apos;After converted into UTF-17 the String is : &apos;); for (int j = 0; j <bytearr.length; j++) { system.out.print(bytearr[j]); } < pre> <p> <strong>Output:</strong> </p> <pre> /StringGetBytesExample4.java:11: error: unreported exception UnsupportedEncodingException; must be caught or declared to be thrown byte[] byteArr = str.getBytes(&apos;UTF-17&apos;); ^ 1 error </pre> <hr></bytearr.length;></pre></bytearr.length;></pre></barr.length;i++){></pre></barr.length;i++){>

Java String-klasse getBytes() Methode Voorbeeld 2

Bestandsnaam: StringGetBytesExample2.java

De methode retourneert een bytearray die opnieuw kan worden doorgegeven aan de String-constructor om String op te halen.

 public class StringGetBytesExample2 { public static void main(String[] args) { String s1 = &apos;ABCDEFG&apos;; byte[] barr = s1.getBytes(); for(int i=0;i <barr.length;i++){ system.out.println(barr[i]); } getting string back s2="new" string(barr); system.out.println(s2); < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> 65 66 67 68 69 70 71 ABCDEFG </pre> <h2>Java String class getBytes() Method Example 3</h2> <p>The following example shows the encoding into a different charset.</p> <p> <strong>FileName:</strong> StringGetBytesExample3.java</p> <pre> // Import statement import java.io.*; public class StringGetBytesExample3 { // main method public static void main(String argvs[]) { // input string String str = &apos;Welcome to JavaTpoint.&apos;; System.out.println(&apos;The input String is : &apos;); System.out.println(str + &apos;
&apos;); // inside try block encoding is // being done using different charsets try { 16 - bit UCS Transformation format byte[] byteArr = str.getBytes(&apos;UTF-16&apos;); System.out.println(&apos;After converted into UTF-16 the String is : &apos;); for (int j = 0; j <bytearr.length; 16 j++) { system.out.print(bytearr[j]); } system.out.println(\'
\'); big endian byte order, - bit ucs transformation format byte[] bytearr1="str.getBytes(&apos;UTF-16BE&apos;);" system.out.println(\'after converted into utf-16be the string is : \'); for (int j="0;" < bytearr1.length; system.out.print(bytearr1[j]); iso latin alphabet bytearr2="str.getBytes(&apos;ISO-8859-1&apos;);" iso-8859-1 bytearr2.length; system.out.print(bytearr2[j]); little bytearr3="str.getBytes(&apos;UTF-16LE&apos;);" utf-16le bytearr3.length; system.out.print(bytearr3[j]); catch (unsupportedencodingexception g) system.out.println(\'unsupported character set\' + g); pre> <p> <strong>Output:</strong> </p> <pre> The input String is : Welcome to JavaTpoint. After converted into UTF-16 the String is : -2-10870101010809901110109010103201160111032074097011809708401120111010501100116046 After converted into UTF-16BE the String is : 0870101010809901110109010103201160111032074097011809708401120111010501100116046 After converted into ISO-8859-1 the String is : 871011089911110910132116111327497118978411211110511011646 After converted into UTF-16LE the String is : 8701010108099011101090101032011601110320740970118097084011201110105011001160460 </pre> <h2>Java String class getBytes() Method Example 4</h2> <p>The following example shows when the charset is not supported by the getBytes() method, UnsupportedEncodingException is thrown.</p> <p> <strong>FileName:</strong> StringGetBytesExample4.java</p> <pre> public class StringGetBytesExample4 { // main method public static void main(String argvs[]) { // input string String str = &apos;Welcome to JavaTpoint.&apos;; System.out.println(&apos;The input String is : &apos;); System.out.println(str + &apos;
&apos;); // encoding into UTF - 17 byte[] byteArr = str.getBytes(&apos;UTF-17&apos;); System.out.println(&apos;After converted into UTF-17 the String is : &apos;); for (int j = 0; j <bytearr.length; j++) { system.out.print(bytearr[j]); } < pre> <p> <strong>Output:</strong> </p> <pre> /StringGetBytesExample4.java:11: error: unreported exception UnsupportedEncodingException; must be caught or declared to be thrown byte[] byteArr = str.getBytes(&apos;UTF-17&apos;); ^ 1 error </pre> <hr></bytearr.length;></pre></bytearr.length;></pre></barr.length;i++){>

Java String-klasse getBytes() Methode Voorbeeld 3

Het volgende voorbeeld toont de codering naar een andere tekenset.

Bestandsnaam: StringGetBytesExample3.java

 // Import statement import java.io.*; public class StringGetBytesExample3 { // main method public static void main(String argvs[]) { // input string String str = &apos;Welcome to JavaTpoint.&apos;; System.out.println(&apos;The input String is : &apos;); System.out.println(str + &apos;
&apos;); // inside try block encoding is // being done using different charsets try { 16 - bit UCS Transformation format byte[] byteArr = str.getBytes(&apos;UTF-16&apos;); System.out.println(&apos;After converted into UTF-16 the String is : &apos;); for (int j = 0; j <bytearr.length; 16 j++) { system.out.print(bytearr[j]); } system.out.println(\'
\'); big endian byte order, - bit ucs transformation format byte[] bytearr1="str.getBytes(&apos;UTF-16BE&apos;);" system.out.println(\'after converted into utf-16be the string is : \'); for (int j="0;" < bytearr1.length; system.out.print(bytearr1[j]); iso latin alphabet bytearr2="str.getBytes(&apos;ISO-8859-1&apos;);" iso-8859-1 bytearr2.length; system.out.print(bytearr2[j]); little bytearr3="str.getBytes(&apos;UTF-16LE&apos;);" utf-16le bytearr3.length; system.out.print(bytearr3[j]); catch (unsupportedencodingexception g) system.out.println(\'unsupported character set\' + g); pre> <p> <strong>Output:</strong> </p> <pre> The input String is : Welcome to JavaTpoint. After converted into UTF-16 the String is : -2-10870101010809901110109010103201160111032074097011809708401120111010501100116046 After converted into UTF-16BE the String is : 0870101010809901110109010103201160111032074097011809708401120111010501100116046 After converted into ISO-8859-1 the String is : 871011089911110910132116111327497118978411211110511011646 After converted into UTF-16LE the String is : 8701010108099011101090101032011601110320740970118097084011201110105011001160460 </pre> <h2>Java String class getBytes() Method Example 4</h2> <p>The following example shows when the charset is not supported by the getBytes() method, UnsupportedEncodingException is thrown.</p> <p> <strong>FileName:</strong> StringGetBytesExample4.java</p> <pre> public class StringGetBytesExample4 { // main method public static void main(String argvs[]) { // input string String str = &apos;Welcome to JavaTpoint.&apos;; System.out.println(&apos;The input String is : &apos;); System.out.println(str + &apos;
&apos;); // encoding into UTF - 17 byte[] byteArr = str.getBytes(&apos;UTF-17&apos;); System.out.println(&apos;After converted into UTF-17 the String is : &apos;); for (int j = 0; j <bytearr.length; j++) { system.out.print(bytearr[j]); } < pre> <p> <strong>Output:</strong> </p> <pre> /StringGetBytesExample4.java:11: error: unreported exception UnsupportedEncodingException; must be caught or declared to be thrown byte[] byteArr = str.getBytes(&apos;UTF-17&apos;); ^ 1 error </pre> <hr></bytearr.length;></pre></bytearr.length;>

Java String-klasse getBytes() Methode Voorbeeld 4

In het volgende voorbeeld ziet u dat wanneer de tekenset niet wordt ondersteund door de methode getBytes(), UnsupportedEncodingException wordt gegenereerd.

java lang naar string

Bestandsnaam: StringGetBytesExample4.java

 public class StringGetBytesExample4 { // main method public static void main(String argvs[]) { // input string String str = &apos;Welcome to JavaTpoint.&apos;; System.out.println(&apos;The input String is : &apos;); System.out.println(str + &apos;
&apos;); // encoding into UTF - 17 byte[] byteArr = str.getBytes(&apos;UTF-17&apos;); System.out.println(&apos;After converted into UTF-17 the String is : &apos;); for (int j = 0; j <bytearr.length; j++) { system.out.print(bytearr[j]); } < pre> <p> <strong>Output:</strong> </p> <pre> /StringGetBytesExample4.java:11: error: unreported exception UnsupportedEncodingException; must be caught or declared to be thrown byte[] byteArr = str.getBytes(&apos;UTF-17&apos;); ^ 1 error </pre> <hr></bytearr.length;>