Thursday, December 11, 2025
HomeLanguagesJavaCharsetEncoder encode(CharBuffer in) method in Java with Examples

CharsetEncoder encode(CharBuffer in) method in Java with Examples

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)));
    }
}


Output:

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)));
    }
}


Output:

java.nio.HeapByteBuffer[pos=0 lim=12 cap=21]

The exception programs cannot be demonstrated in programs.

Reference: https://docs.oracle.com/javase/10/docs/api/java/nio/charset/CharsetEncoder.html#encode(java.nio.CharBuffer)

RELATED ARTICLES

Most Popular

Dominic
32440 POSTS0 COMMENTS
Milvus
105 POSTS0 COMMENTS
Nango Kala
6811 POSTS0 COMMENTS
Nicole Veronica
11950 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12023 POSTS0 COMMENTS
Shaida Kate Naidoo
6943 POSTS0 COMMENTS
Ted Musemwa
7194 POSTS0 COMMENTS
Thapelo Manthata
6889 POSTS0 COMMENTS
Umr Jansen
6880 POSTS0 COMMENTS