그만큼 자바 문자열 클래스 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='ABCDEFG'; 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 = 'ABCDEFG'; 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 = 'Welcome to JavaTpoint.'; System.out.println('The input String is : '); System.out.println(str + ' '); // inside try block encoding is // being done using different charsets try { 16 - bit UCS Transformation format byte[] byteArr = str.getBytes('UTF-16'); System.out.println('After converted into UTF-16 the String is : '); 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('UTF-16BE');" 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('ISO-8859-1');" iso-8859-1 bytearr2.length; system.out.print(bytearr2[j]); little bytearr3="str.getBytes('UTF-16LE');" 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 = 'Welcome to JavaTpoint.'; System.out.println('The input String is : '); System.out.println(str + ' '); // encoding into UTF - 17 byte[] byteArr = str.getBytes('UTF-17'); System.out.println('After converted into UTF-17 the String is : '); 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('UTF-17'); ^ 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 = 'ABCDEFG'; 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 = 'Welcome to JavaTpoint.'; System.out.println('The input String is : '); System.out.println(str + ' '); // inside try block encoding is // being done using different charsets try { 16 - bit UCS Transformation format byte[] byteArr = str.getBytes('UTF-16'); System.out.println('After converted into UTF-16 the String is : '); 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('UTF-16BE');" 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('ISO-8859-1');" iso-8859-1 bytearr2.length; system.out.print(bytearr2[j]); little bytearr3="str.getBytes('UTF-16LE');" 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 = 'Welcome to JavaTpoint.'; System.out.println('The input String is : '); System.out.println(str + ' '); // encoding into UTF - 17 byte[] byteArr = str.getBytes('UTF-17'); System.out.println('After converted into UTF-17 the String is : '); 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('UTF-17'); ^ 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 = 'Welcome to JavaTpoint.'; System.out.println('The input String is : '); System.out.println(str + ' '); // inside try block encoding is // being done using different charsets try { 16 - bit UCS Transformation format byte[] byteArr = str.getBytes('UTF-16'); System.out.println('After converted into UTF-16 the String is : '); 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('UTF-16BE');" 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('ISO-8859-1');" iso-8859-1 bytearr2.length; system.out.print(bytearr2[j]); little bytearr3="str.getBytes('UTF-16LE');" 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 = 'Welcome to JavaTpoint.'; System.out.println('The input String is : '); System.out.println(str + ' '); // encoding into UTF - 17 byte[] byteArr = str.getBytes('UTF-17'); System.out.println('After converted into UTF-17 the String is : '); 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('UTF-17'); ^ 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 = 'Welcome to JavaTpoint.'; System.out.println('The input String is : '); System.out.println(str + ' '); // encoding into UTF - 17 byte[] byteArr = str.getBytes('UTF-17'); System.out.println('After converted into UTF-17 the String is : '); 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('UTF-17'); ^ 1 error </pre> <hr></bytearr.length;>