NVR*_*RAM 8 c# string multilingual utf-8 utf-16
我有一个Web应用程序,允许用户上传他们的内容进行处理.处理引擎需要UTF8(我正在从多个用户的文件中编写XML),所以我需要确保能够正确解码上传的文件.
因为如果我的任何用户知道他们的文件甚至被编码我会感到惊讶,我很少希望他们能够正确指定要使用的编码(解码器).因此,我的应用程序在解码前留下了检测任务.
这似乎是一个普遍的问题,我很惊讶没有找到解决方案的框架功能或一般配方.是不是我没有搜索有意义的搜索词?
我已经实现了BOM感知检测(http://en.wikipedia.org/wiki/Byte_order_mark),但我不确定文件上传的频率是多少,无需BOM表示编码,这对于大多数非UTF文件.
我的问题归结为:
到目前为止,我发现:
谢谢.
您是否尝试过从用户那里读取文件的代表性横截面,通过您的程序运行它们,测试,纠正任何错误并继续?
我发现 File.ReadAllLines() 在非常广泛的应用程序中非常有效,而无需担心所有编码。看来处理得还不错。
一旦我弄清楚如何正确使用 Xmlreader(),它就表现得相当好。
也许您可以发布一些具体的数据示例并获得更好的答复。