我可以将非UTF-8内容添加到.net resx文件中吗?

我可以将非UTF-8内容添加到.net resx文件中吗?,.net,utf-8,resources,resx,.net,Utf 8,Resources,Resx,我正在使用resx文件存储某些web应用程序的本地化内容。我被要求编写一个测试机制,以了解这些资源文件的值上是否包含非UTF-8内容 resx文件是XML文件,它们的头指定它们是UTF-8编码的。所以我的问题(可能是明显的或愚蠢的)是,有人可以将非UTF-8字符串添加到资源文件值中吗 我已经搜索了如何获取某些字符串的编码,但是没有防弹方法,所以我不确定我被要求创建的测试是否需要或可能 编辑 为了澄清,测试应该在本地化应用程序中执行,如果字符串不是有效的UTF-8,则在某种程度上显示默认(本地化)

我正在使用resx文件存储某些web应用程序的本地化内容。我被要求编写一个测试机制,以了解这些资源文件的值上是否包含非UTF-8内容

resx文件是XML文件,它们的头指定它们是UTF-8编码的。所以我的问题(可能是明显的或愚蠢的)是,有人可以将非UTF-8字符串添加到资源文件值中吗

我已经搜索了如何获取某些字符串的编码,但是没有防弹方法,所以我不确定我被要求创建的测试是否需要或可能

编辑
为了澄清,测试应该在本地化应用程序中执行,如果字符串不是有效的UTF-8,则在某种程度上显示默认(本地化)值,是的。您可以毫不费力地存储纯ASCII文本

除此之外?最好的办法是为它编写一个测试。在代码中定义一些非UTF8字符串,将它们存储在.resx文件中(为了简单起见,请使用
resxresourcewriter
),然后将它们取出。将它们打印到屏幕上,看它们是否匹配

当然也可以更改resx文件的编码。如果您这样做,那么您可以存储以该格式编码的字符串

你最好试试看会发生什么

编辑:基于评论中的澄清

如果您需要验证现有的值,最好的方法是迭代resx文件,将其所有文本转储到.txt文件中


如果然后用Notepad++打开该文件,则可以指定UTF-8编码。任何无法显示的内容都不是UTF-8文本,从resx中提取时将无法正确显示。

问题是,我在该应用程序上有3000个resx文件(不要问为什么,我在触摸代码之前就在那里了:p)。因此,需要知道的是,当我尝试加载数千个文件中的任何一个文件的某些数据时(本地化时),请确保该字符串是有效的UTF-8value@pollirrata:根据您的评论更新了我的答案。普通ASCII是有效的UTF-8。我编辑我的问题是为了澄清,因为我不想手动这么做。@KeithThompson:我知道。我猜“开玩笑的舌头”不能很好地翻译成文字。也许我应该用UTF-16编码?