user541686
user541686

Reputation: 210445

UTF-8 to UTF-16 API wrapper libraries for Windows?

Is there any wrapper library out there that mimics the Windows "ANSI" function names (e.g. CreateFileA), assumes the inputs are in UTF-8, converts them to UTF-16, calls the UTF-16 version of the function (e.g. CreateFileW), and converts the outputs back to UTF-8 for the program?

It would allow ASCII programs to use UTF-8 almost seamlessly.

Upvotes: 7

Views: 410

Answers (3)

Yakov Galka
Yakov Galka

Reputation: 72479

As others said, there are too many WinAPI functions to make such a library feasible. However one can hack it on the tool-chain level or using something like http://research.microsoft.com/en-us/projects/detours/.

EDIT: Windows 10 added support for UTF-8 codepage in ANSI API.

Upvotes: 1

Anders
Anders

Reputation: 101636

There is this thing called WDL, it has some UTF-8 wrappers (win32_utf8). I have never tried it so I don't know how complete the support is.

Upvotes: 0

Mark Ransom
Mark Ransom

Reputation: 308176

Rather than wrapping the API functions, it's easier to wrap the strings in a conversion function. Then you'll be future-proof when the next version of Windows adds more API functions.

Upvotes: 2

Related Questions