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 function import 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 function import 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.