我正在阅读各种格式和语言的文件,目前使用了一个小型编码库来尝试检测正确的编码(http://www.codeproject.com/KB/recipes/DetectEncoding.aspx)。它相当不错,但有时会错过(多语言文件)。
大多数潜在用户对编码几乎一无所知(我最好能希望的是“它与字符有关”),并且很难从列表中选择正确的编码,因此我想让他们通过单击按钮循环浏览不同的编码,直到找到正确的编码为止。
显示问题?点击这里尝试不同的编码!(这就是概念)
如何实现这样的功能最佳?
编辑:看起来我没有表达清楚。我的意思不是“如何循环编码?”而是“如何让用户在不重新加载文件的情况下尝试不同的编码顺序?”
这个想法更像是这样的:假设使用了错误的编码加载文件,会显示一些奇怪的字符。用户会点击一个按钮“下一个编码”或“上一个编码”,字符串将会被转换成另一种编码。用户只需要持续点击,直到找到正确的编码(任何对用户来说看起来合适的编码都可以)。只要用户可以点击“下一个”,他就有合理的机会解决问题。
到目前为止,我发现的方法涉及将字符串使用当前编码转换为字节,然后将字节转换为下一个编码,将这些字节转换为字符,然后将字符转换为字符串...... 这是可行的,但我想知道是否有更简单的方法。
例如,如果有一种方法可以读取一个字符串并返回使用不同编码的字符串,类似于“render(string, encoding)”。
非常感谢您的答案!
大多数潜在用户对编码几乎一无所知(我最好能希望的是“它与字符有关”),并且很难从列表中选择正确的编码,因此我想让他们通过单击按钮循环浏览不同的编码,直到找到正确的编码为止。
显示问题?点击这里尝试不同的编码!(这就是概念)
如何实现这样的功能最佳?
编辑:看起来我没有表达清楚。我的意思不是“如何循环编码?”而是“如何让用户在不重新加载文件的情况下尝试不同的编码顺序?”
这个想法更像是这样的:假设使用了错误的编码加载文件,会显示一些奇怪的字符。用户会点击一个按钮“下一个编码”或“上一个编码”,字符串将会被转换成另一种编码。用户只需要持续点击,直到找到正确的编码(任何对用户来说看起来合适的编码都可以)。只要用户可以点击“下一个”,他就有合理的机会解决问题。
到目前为止,我发现的方法涉及将字符串使用当前编码转换为字节,然后将字节转换为下一个编码,将这些字节转换为字符,然后将字符转换为字符串...... 这是可行的,但我想知道是否有更简单的方法。
例如,如果有一种方法可以读取一个字符串并返回使用不同编码的字符串,类似于“render(string, encoding)”。
非常感谢您的答案!