logo

자바 문자열 getBytes()

그만큼 자바 문자열 클래스 getBytes() 메서드는 문자열을 바이트 시퀀스로 인코딩하고 이를 바이트 배열에 유지합니다.

서명

getBytes() 메소드에는 세 가지 변형이 있습니다. 문자열 getBytes() 메소드의 서명 또는 구문은 다음과 같습니다.

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

매개변수

charset / charsetName - 메서드가 지원하는 charset의 이름입니다.

보고

바이트 시퀀스입니다.

예외 발생

지원되지 않는 인코딩예외: 언급된 문자 세트가 메소드에서 지원되지 않는 경우 발생합니다.

내부 구현

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

문자열 클래스 getBytes() 메서드 예

매개변수가 없는 getBytes() 메서드는 플랫폼의 기본 문자 집합(UTF - 8)을 사용하여 문자열을 인코딩합니다. 다음 두 예제에서는 동일한 내용을 보여줍니다.

UAS의 도시

파일 이름: 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 문자열 클래스 getBytes() 메소드 예 2

파일 이름: StringGetBytesExample2.java

while 루프 자바

이 메서드는 String 생성자에 다시 전달되어 String을 가져올 수 있는 바이트 배열을 반환합니다.

 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 문자열 클래스 getBytes() 메소드 예 3

다음 예에서는 다른 문자 집합으로 인코딩하는 방법을 보여줍니다.

파일 이름: 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 문자열 클래스 getBytes() 메소드 예 4

다음 예에서는 getBytes() 메서드에서 charset을 지원하지 않는 경우 UnsupportedEncodingException이 발생하는 것을 보여줍니다.

파일 이름: 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;>