J'ai un appel C dll non géré depuis une bibliothèque de classes C# qui crypte une valeur de chaîne en une chaîne cryptée contenant des caractères non-ascii. Je dois prendre les données et écrire ses valeurs binaires dans un fichier, mais C# traite le texte comme string
plutôt que comme byte[]
.Chaîne cryptée C++ non gérée en octets C# [
La valeur cryptée contient généralement des caractères spéciaux (\r
, \O
, etc.). Lorsque je convertis la chaîne retournée en C# en utilisant un type de jeu de codes (ascii, utf-7, utf-16), elle écrit les valeurs de caractères spéciaux comme les valeurs interprétées de Windows au lieu de leur représentation binaire réelle.
Ma question est de savoir comment puis-je tirer les données de la DLL non managée dans un byte[]
plutôt que d'une chaîne de caractères afin que je puisse écrire cela en utilisant le fichier BinaryWriter
?
Merci.
(Je veux dire la chaîne d'origine) –