The encode(CharBuffer input) method is a built-in method of the java.nio.charset.CharsetEncoder which encodes the content which is remaining of a single input character buffer to a newly-allocated byte-buffer. The encode() method in itself implements an entire operation of encoding. This function should not be invoked if the operation is in progress.
Syntax:
public final ByteBuffer encode(CharBuffer input)
Parameters: The function accepts a mandatory parameter input which specifies the input character buffer.
Return Value: The function returns a newly-allocated byte buffer containing the result of the encoding operation.
Error and Exceptions: The function throws four exceptions which can be described as below:
- IllegalStateException: It is thrown if an encoding operation is already in progress.
- MalformedInputException: It is thrown if the character sequence starting at the input buffer’s current position is not a legal sixteen-bit Unicode sequence and the current malformed-input action is CodingErrorAction.REPORT.
- UnmappableCharacterException: It is thrown if the character sequence starting at the input buffer’s current position cannot be mapped to an equivalent byte sequence and the current unmappable-character action is CodingErrorAction.REPORT
- CharacterCodingException
Below is the implementation of the above function:
Program 1:
Java
// Java program to implement// the above functionimport java.nio.CharBuffer;import java.nio.charset.Charset;import java.nio.charset.CharsetEncoder;  public class Main {    public static void main(String[] args) throws Exception    {          // Gets the new encoder        CharsetEncoder encoder = Charset.forName("UTF8").newEncoder();          // Encodes        String res = "gfggfg";        System.out.println(encoder.encode(CharBuffer.wrap(res)));    }} |
java.nio.HeapByteBuffer[pos=0 lim=6 cap=6]
Program 2:
Java
// Java program to implement// the above functionimport java.nio.CharBuffer;import java.nio.charset.Charset;import java.nio.charset.CharsetEncoder;  public class Main {    public static void main(String[] args) throws Exception    {          // Gets the new encoder        CharsetEncoder encoder = Charset.forName("UTF16").newEncoder();          // Encodes        String res = "gopal";        System.out.println(encoder.encode(CharBuffer.wrap(res)));    }} |
java.nio.HeapByteBuffer[pos=0 lim=12 cap=21]
The exception programs cannot be demonstrated in programs.
