Package io.flutter.plugin.common

## Class StringCodec

- java.lang.Object
- - io.flutter.plugin.common.StringCodec

- All Implemented Interfaces:
    `MessageCodec<String>`

      public final class StringCodec
      extends Object
      implements MessageCodec<String>

  A `MessageCodec` using UTF-8 encoded String messages.

  This codec is guaranteed to be compatible with the corresponding StringCodec on the Dart side. These parts of the Flutter SDK are evolved synchronously.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static StringCodec` | `INSTANCE` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `decodeMessage​(ByteBuffer message)` | Decodes the specified message from binary.
    `ByteBuffer` | `encodeMessage​(String message)` | Encodes the specified message into binary.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### INSTANCE

          public static final StringCodec INSTANCE

  - ### Method Detail

    - #### encodeMessage

          @Nullable
          public ByteBuffer encodeMessage​(@Nullable
                                          String message)

      Description copied from interface: `MessageCodec`
      Encodes the specified message into binary.
      Specified by:
        `encodeMessage` in interface `MessageCodec<String>`
      Parameters:
        `message` - the T message, possibly null.
      Returns:
        a ByteBuffer containing the encoding between position 0 and the current position, or null, if message is null.

    - #### decodeMessage

          @Nullable
          public String decodeMessage​(@Nullable
                                      ByteBuffer message)

      Description copied from interface: `MessageCodec`
      Decodes the specified message from binary.

      Warning: The ByteBuffer is "direct" and it won't be valid beyond this call. Storing the ByteBuffer and using it later and will lead to a `java.nio.BufferUnderflowException`. If you want to retain the data you'll need to copy it.

      Specified by:
        `decodeMessage` in interface `MessageCodec<String>`
      Parameters:
        `message` - the `ByteBuffer` message, possibly null.
      Returns:
        a T value representation of the bytes between the given buffer's current position and its limit, or null, if message is null.