UTF8 to UTF16, UTF16 to UTF8

Hi, i'm beginner from russia(sorry for bad english).

  1. I trying to read *.txt file(charset UTF8) with text and to convert UTF8 string to UTF16 hex string. It doesn't important format of UTF16(LE or BE). How can i do it? Is it possible? Seems that i googled all internet, but didn't found working method))) Language of symbols in file is russian and english.
    I found some methods from c/c++, for example: iconv, MultiByteToChar, mbstowcs, swprintf with help of wstring type methods, but arduino ide don't want to receive them and compiling falling. Can i import iconv library, or another to convert it? Device: Arduino Mega2560
  2. What libraries, methods, types are available in arduino IDE, but didn't shower in arduino reference? I found only wiring and processing reference. I saw many types and methods which missing in arduino, processing and wiring reference... Why?
  3. Somebody worked with HaikuVM? What do you mind about it?
  4. I'll be grateful for some links explaining how to make conversion using binary operations, but in priority i want do find simpler way

I googled "utf8 utf16 conversion" and found lots of information, eventually leading me to this:

I haven't played with it. I suggest you write some c/c++ code to do what it is you require before you attempt to 'port' this to Arduino. Get something working on your computer first.

Of course, this approach may be too large for Arduino resources, or may require moving constants to EEPROM, etc.

In any case, a clear understanding of the requirements will allow you to determine if this can be done on a small microcontroller.

Good luck! And please share your results!

Any progress regarding this?
I'm trying to achieve the exact same thing, with the cyrillic characters etc.