company logo

MP3Frame :: encoding - Text encoding

(copied from http://id3.org/id3v2.4.0-structure)

If nothing else is said, strings, including numeric strings and URLs, are represented as ISO-8859-1 characters in the range 0x20 - 0xFF. Such strings are represented in frame descriptions as <text string>, or <full text string> if newlines are allowed. If nothing else is said newline character is forbidden. In ISO-8859-1 a newline is represented, when allowed, with 0x0A only.

Frames that allow different types of text encoding contains a text encoding description byte. Possible encodings:

  • 0x00 - ISO-8859-1 [ISO-8859-1]. Terminated with 0x00.
  • 0x01 - UTF-16 [UTF-16] encoded Unicode [UNICODE] with BOM. All strings in the same frame SHALL have the same byteorder. Terminated with 0x0000.
  • 0x02 - UTF-16BE [UTF-16] encoded Unicode [UNICODE] without BOM. Terminated with 0x0000.
  • 0x03 - UTF-8 [UTF-8] encoded Unicode [UNICODE]. Terminated with 0x00.

Text encoding character is part of the text, i.e. it is included in text length. When text begins with any other character.

Return value:  Text encoding ( int32  )

Text encoding supports 4 values:

  • 0 - ISO-8859-1 [Latin1].
  • 1 - UTF-16 with BOM
  • 2 - UTF-16 without BOM
  • 3 - UTF-8

Other values are considered as invalid

Implementation overview

Implementation details

  1. Get current frame text encoding
    int32 MP3Frame  :: encoding (  )

    The function returns the internal text encoding number. When no MP3Frame reference object is assigned or when the assigned object is invalid, the function throws an exception.

  2. to list
  3. Set current frame text encoding
    int32 MP3Frame  :: encoding ( int32 iEncoding )

    Text encoding value passed in iEncoding must be less than 4 and greater than or equal to 0.

    The function throws an exception when MP3 frame is invalid or an invalid value has been passed.

    • iEncoding - Text encoding

      Text encoding supports 4 values:

      • 0 - ISO-8859-1 [Latin1].
      • 1 - UTF-16 with BOM
      • 2 - UTF-16 without BOM
      • 3 - UTF-8

      Other values are considered as invalid

  4. to list