我正在尝试对包含目标编码(CP 1047)不支持的字符的字符串进行编码。
有没有一种标准的/通用的/简单的方法将这些字符映射到cp1047等效项?
例如,文本有一个花哨的双引号字符(”),我想将其转换为直双引号(")。
显然,我可以在我的代码中进行替换,但它们是更好的方法吗?有没有我不知道的开源工具或API?
发布于 2011-08-17 05:49:34
如果你想在EBCDIC (CP1047)中编码Unicode字符,那么(显然)有UTF-EBCDIC (尽管我不知道任何现有的工具可以转换)。
或者,我会考虑使用非标准形式的Percent-encoding或XML/HTML encoding。这两种编码中的任何一种都可能具有现有的编码工具(例如Commons、Lang、StringEscapeUtils)。
最后,如果您只想将扩展字符‘映射’到CP1047空间中,那么我猜您需要一个字符接一个字符地扫描源字符串,然后从Map<Char, Char> (或Map<Char, String>)构建结果字符串,只要您事先知道必须处理的所有扩展字符以及它们所需的等价物/替换项。
https://stackoverflow.com/questions/7083479
复制相似问题