【发布时间】:2010-09-16 16:47:14
【问题描述】:
我有一个从 C# 类库调用的非托管 C dll,该类库将字符串值加密为包含非 ascii 字符的加密字符串。我需要获取数据并将其二进制值写入文件,但 C# 将文本视为string 而不是byte[]。
加密值通常包含特殊字符(\r、\O 等)。当我使用某种类型的代码集(ascii、utf-7、utf-16)将返回的字符串转换为 C# 时,它会将特殊字符值写入 Windows 解释值而不是它们的实际二进制表示。
我的问题是如何将非托管 dll 中的数据提取到 byte[] 而不是字符串中,以便我可以使用 BinaryWriter 将其写入文件?
谢谢。
【问题讨论】:
-
你知道它是什么类型的字符串,编码是什么吗? (我的意思是原始字符串)
标签: c# c++ arrays encryption marshalling