Choosing the Appropriate String Class
If you know you will be using UTF-8 only, use RWCString from the Essential Tools Module.
If you are using UTF-16 characters but do not need the Internationalization Module, use RWBasicUString from the Essential Tools Module. (See When You Do Not Need the Internationalization Module.) RWBasicUString holds a UTF-16 string and can convert between UTF-8 and UTF-16. Because RWUString from the Internationalization Module is derived from RWBasicUString, using RWBasicUString would allow you to take advantage of the wide range of encodings supported by RWUString with minimal code changes, should you need to do so at a future time.
For more information on using RWBasicUString, see the Essential Tools Module User’s Guide.
NOTE: Using RWBasicUString for your UTF-16 strings is the recommended method over a conventional wide-character interface such as that offered by RWWString.
If you need to perform conversions to or from character encodings other than -UTF-8 and UTF-16 and will therefore require the Internationalization Module, use that module’s RWUString. Through its conversion utilities, RWUString provides the ability to convert between UTF-16 and any recognized character encoding. For more information on using this class, see the Internationalization Module User’s Guide.