C# 使用表情符号保存文本以使文件成为''; 我该怎么办

C# 使用表情符号保存文本以使文件成为''; 我该怎么办,c#,text,emoji,C#,Text,Emoji,我必须创建一个文本文件(.txt、.doc、..),其中包含.netWebaApi传递的确切文本(使用emojis也是如此)(并将其附加到电子邮件中) 情况: 我有一个关于.NETWebAPI的项目。我的一个方法是创建一个文本文件并将其附加到电子邮件中,通过可能包含表情符号的设备传递一些文本 我不知道如何正确保存表情符号。如果我将表情符号复制粘贴到word或记事本文件中,它会工作,但如果我通过代码保存它,它不会工作。我想这是因为格式化,但我尝试了Unicode、UTF-32、UTF-8、ASCI

我必须创建一个文本文件(
.txt、.doc、
..),其中包含
.net
WebaApi传递的确切文本(使用emojis也是如此)(并将其附加到电子邮件中)

情况: 我有一个关于.NETWebAPI的项目。我的一个方法是创建一个文本文件并将其附加到电子邮件中,通过可能包含表情符号的设备传递一些文本

我不知道如何正确保存表情符号。如果我将表情符号复制粘贴到word或记事本文件中,它会工作,但如果我通过代码保存它,它不会工作。我想这是因为格式化,但我尝试了Unicode、UTF-32、UTF-8、ASCII

我尝试了很多在这里找到的解决方案,但是没有一个对我有效


例如,这个emoji(从.net调试器粘贴的副本)->您的
smsText
包含一个纯文本字符串。您不能将该字符串写入流或文件,然后将其称为Word file*

Word文件是具有特定格式的二进制文件。您需要使用可以编写此格式的库,或者使用Interop与现有Word安装进行互操作

例如,见

如果您对纯文本文件没有问题,只需将文本的字节写入流并传播适当的编码(在本例中为Unicode,即.NET上的UTF-16)


*:是的,你可以,就像Excel尽力将HTML表格格式化为Excel文档一样,但你不应该这样做。

你是如何生成
.doc
文件的?@john我没有将其保存到文件中,我只是使用上面的代码创建一个带有给定文本和
contenttype=application/ms word
的附件,所以您在内存中生成的是文本文件,而不是word文档?如果您创建的是文本文件,您的内容类型应该是“text/plain”,文件扩展名为“.txt”。你不能只保存一个文本字符串,然后将其称为Word文件。+1表示建议使用Word库。但我只想补充一点,如果您不关心旧的
.doc
格式,并且可以使用新的
.docx
格式,那么您可能希望搜索打开的XML库。这是我过去使用过的一个很棒的图书馆。非常感谢!你的第一句话+约翰的评论解决了我的问题。如果可能,要完成回答,请添加他的注释以指定如何使用.txt格式。谢谢again@Pier我不知道你这是什么意思。你的意思是说你可以写一个明文.txt文件,它就可以工作了吗?@CodeCaster我想它可能用了
UTF8
而不是
Unicode
@CodeCaster是的,如果我不清楚的话,很抱歉。我想说的是,我可以创建一个没有首选项的
.txt
.doc/.docx
附件。如果我使用.txt格式和UTF8编码格式的纯文本,它就可以工作。