2017-03-09 3 views
-1

J'utilise C# Marshal.PtrToStringUni (IntPtr) pour lire les données de Sql Server Il retourne les caractères latins mais ne donne pas le caractère Unicode correctement. Pour le caractère Unicode, je vois des déchets Il me manque une conversion?C# Marshal.PtrToStringUni ne retourne pas les valeurs Unicode

+0

Veuillez mettre à jour votre message pour inclure votre code –

Répondre

1

Le codage ANSI n'est pas Unicode. Utilisez plutôt la méthode PtrToStringUni.

+0

Voulez-vous dire 'PtrToStringAnsi' à la place? Les chaînes codées en latin sont en 8bit, les chaînes Unicode en 16bit. 'PtrToStringAnsi' attend une entrée 8 bits,' PtrToStringUni' attend une entrée 16 bits. Si les données sont renvoyées en tant que 8bit, 'PtrToStringAnsi' serait plus approprié. –