我需要输出大量文本,其中包括多种语言的各种字符。有时我需要以 Unicode 以外的字符编码(例如 Shift-JIS 或 ISO-8859-2)输出文本,以便匹配它要访问的页面。
如果文本中包含编码无法处理的字符(例如,ISO-8859-2 编码输出中的日语字符),我最终会在输出中出现奇数字符。我可以逃避他们,但只有在确实有必要时我才愿意这么做。
所以,我的问题是:有没有办法可以提前判断编码是否可以处理字符串中的所有字符?
编辑:
我认为 EncoderFallback 可能是我提出的问题的正确答案。不幸的是,它似乎不适用于我的特殊情况。我的想法是将这些字符转换为其 HTML 实体等效项(例如,モ 而不是 モ)。但是,编码器仅转换它找到的第一个此类字符,如果我设置 Response.ContentEncoding,它根本不会调用我的 EncoderFallback。
您可以编写自己的 EncoderFallback 类,在编码之前将其分配给编码器。
使用这种方法,您不需要提前执行任何操作(这可能只是处理输出字符串以查找问题)。
相反,您的 Fallback 类只需要处理编码没有字符值的替换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)