Support for UTF-8 strings and other formats
 
 
 

FBX SDK uses UTF-8 strings internally. UTF-8 (8-bit UCS/Unicode Transformation Format) is a variable-length character encoding for Unicode. It is able to represent any character in the Unicode standard, yet is backwards compatible with ASCII. For a good introduction to UTF-8, see Wikipedia (wikipedia.com).

FBX will convert its UTF-8 strings to the required string format when calling a function in an operating system’s API. For example when calling a Windows API function requiring a Unicode wide char *, FBX calls a MACRO of KString to make the conversion.

So, if your application uses non-ASCII char, you must convert your strings to UTF-8 char * C-strings before passing them to FBX. KString.h has six macros that you can use:

Macro
KFBX_UTF8_to_WIDECHAR
KFBX_WIDECHAR_to_UTF8
KFBX_WIDECHAR_to_ANSI
KFBX_ANSI_to_WIDECHAR
KFBX_ANSI_to_UTF8
KFBX_UTF8_to_ANSI