当前位置:  开发笔记 > 编程语言 > 正文

.NET:如何判断编码是否支持字符串中的所有字符?

如何解决《.NET:如何判断编码是否支持字符串中的所有字符?》经验,为你挑选了1个好方法。

我有很多需要输出的文本,其中包括来自多种语言的各种字符.有时我需要输出除Unicode之外的字符编码(例如,Shift-JIS或ISO-8859-2)的文本,以匹配它将要访问的页面.

如果文本具有编码无法处理的字符(例如,ISO-8859-2编码输出中的日文字符),则输出结果为奇数字符.我可以逃脱它们,但我宁愿这样做只有在真的有必要的时候.

所以,我的问题是:如果编码可以处理我的字符串中的所有字符,是否有一种方法可以提前告诉我?

编辑:我认为EncoderFallback可能是我问的问题的正确答案.不幸的是,它似乎并不适合我的特殊情况.我的想法是将字符转换为它们的HTML实体等价物(例如,モ而不是モ).但是,编码器只转换它找到的第一个这样的字符,如果我设置了Response.ContentEncoding,它根本就不会调用我的EncoderFallback.



1> AnthonyWJone..:

您可以编写自己的EncoderFallback类,在编码之前将其分配给编码器.

使用这种方法,您无需进行任何高级操作(可能只是处理输出字符串以查找问题).

相反,您的Fallback类只需要处理编码没有字符值的替换.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有