从System.Byte []转换为String失败

时间:2010-12-13 19:24:00

标签: c# .net encoding decoding

我们使用的产品是将Letter Express(邮件合并)模板存储为BLOB(或CLOB ......我现在不记得了)。我们使用产品的API来拨打此信函并发送电子邮件。

现在,我们希望捕获电子邮件的内容并将其存储在单独的字段中。 API为我们提供了一个包含模板的LetterExpress.WordDocument属性。但这是byte[]

我试图把它变成一个字符串对象,这样我就可以填充占位符,然后将它存储在另一个字段中。

这是我正在尝试的代码。

System.Text.Encoding.ASCII.GetString(LetterExpress.WordDocument)

但是,我收到如下错误

  

最佳重载方法匹配   'System.Text.Encoding.GetString(字节[])'   有一些无效的论点

为什么我收到此错误?

如何确定LetterExpress.WordDocument使用的编码是什么?或者是否有可以将其转换为字符串的通用方法?

2 个答案:

答案 0 :(得分:3)

您收到该错误,因为您认为LetterExpress.WordDocument byte[]属性不是真正的{{1}}属性。验证该属性的类型是否真的符合您的想法。

答案 1 :(得分:1)

听起来这是一个真正的.doc文件,而.doc文件要比字符串编码复杂得多。如果要从word文档中提取文本,则需要Aspose Tools之类的内容。执行此操作的能力并未构建到框架中。您可以使用没有System.Text.Encoding,也没有包含.Net的通用方法可以执行此操作。