जावा स्ट्रिंग getBytes ()

जावा स्ट्रिंग getBytes () विधि स्ट्रिंग को बाइट्स के अनुक्रम में एन्कोड करती है और इसे बाइट सरणी में संग्रहीत करती है।

स्ट्रिंग getBytes()पद्धति का सिंटैक्स हैं:

 string.getBytes() string.getBytes(Charset charset) string.getBytes(String charsetName)

यहाँ, स्ट्रिंग 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जावा में अलग-अलग उपलब्ध हैं :

  • UTF-8 - आठ-बिट UCS परिवर्तन प्रारूप
  • यूटीएफ -16 - सोलह-बिट यूसीएस परिवर्तन प्रारूप
  • UTF-16BE - सोलह-बिट UCS परिवर्तन प्रारूप, बड़ा-एंडियन बाइट क्रम
  • UTF-16LE - सोलह-बिट UCS परिवर्तन प्रारूप, थोड़ा-एंडियन बाइट क्रम
  • यूएस-एएससीआईआई - सात-बिट एएससीआईआई
  • आईएसओ-8859-1 - आईएसओ लैटिन वर्णमाला नंबर 1

उदाहरण: getBytes () चारसेट पैरामीटर के साथ

 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()इस तरह से उपयोग करते हैं , तो आपको कोड को कोशिश के अंदर लपेटना होगा … ब्लॉक को पकड़ना चाहिए।

उदाहरण: 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 एन्कोडिंग गलत है

नोट: हमने java.util को आयात किया है। बाइट को एक पठनीय रूप में मुद्रित करने के लिए ऐरे। इसका कोई लेना-देना नहीं है getBytes()

दिलचस्प लेख...