2010-09-14 3 views
0

Je souhaite sérialiser une chaîne (chaîne coréenne) contenant des caractères à deux octets. Ai-je besoin de faire quelque chose de spécial?Comment sérialiser une chaîne avec des caractères à deux octets?

Je suis en mesure de sérialisation char * cordes en échappant à des caractères spéciaux comme \ n, \ b, \ f, \ t etc.

J'utilise C++ sous Windows sans bibliothèques.

+1

Vous avez beaucoup plus de chances d'obtenir une réponse à votre question si vous spécifiez ce que vous entendez par sérialiser. Que vous ayez besoin de faire quelque chose de spécial ou pas dépend entièrement de ce que vous entendez par * serialize *, donc jusqu'à ce que vous expliquiez cela plus en détail, vous n'obtiendrez probablement pas de réponses raisonnables à votre question. –

+0

ok je veux passer cette chaîne à un autre objet com.Basically Javascript appellera mon API pour obtenir les données sérialisées. – anand

+0

COM utilise le type de données BSTR codé en UTF-16 pour toutes ses chaînes. Les environnements de script, comme Javascript, enveloppent tout dans les valeurs de VARIANT. Vous auriez donc besoin d'encoder/décoder vos chaînes à deux octets vers/depuis UTF-16 en les passant dans COM. –

Répondre

0

Vous souhaitez transformer une chaîne Unicode en octets. Une chaîne Unicode peut être représentée de plusieurs façons en mémoire, vous devez donc l'encoder. I

Je recommande d'utiliser le codage UTF-8 pour cela car c'est l'encodage le plus utilisé qui est également indépendant de l'endianess machine.

Questions connexes