When developing an application, we highly recommend that you use Unicode characters and strings. Here are some of the reasons why:
Unicode makes it easy for you to localize your application to world markets.
Unicode allows you to distribute a single binary (.exe or DLL) file that supports all languages.
Unicode improves the efficiency of your application because the code performs faster and uses less memory. Windows internally does everything with Unicode characters and strings, so when you pass an ANSI character or string, Windows must allocate memory and convert the ANSI character or string to its Unicode equivalent.
Using Unicode ensures that your application can easily call all nondeprecated Windows functions, as some Windows functions offer versions that operate only on Unicode characters and strings.
Using Unicode ensures that your code easily integrates with COM (which requires the use of Unicode characters and strings).
Using Unicode ensures that your code easily integrates with the .NET Framework (which also requires the use of Unicode characters and strings).
Using Unicode ensures that your code easily manipulates your own resources (where strings are always persisted as Unicode).