java - 自动将 Unicode 字符映射到类似的 EBCDIC 1047 字符

标签 java unicode character-encoding ebcdic non-unicode

我正在尝试对包含目标编码 ( CP 1047) 不支持的字符的字符串进行编码。

是否有标准/通用/简单的方法将这些字符映射到 cp1047 等价物?

例如,文本中有一个奇特的双引号字符 (),我想将其转换为直双引号 (")。

显然我可以在我的代码中进行替换,但他们是更好的方法吗?是否有我不知道的开源工具或 API?

最佳答案

如果您想在 EBCDIC (CP 1047) 中编码 Unicode 字符,那么(显然)有 UTF-EBCDIC (虽然我不知道有任何现有工具可以转换成那个)。

或者,我会考虑使用 Percent-encoding 的非标准形式或 XML/HTML encoding .这两种编码中的任何一种都可能具有现有的编码工具(例如 Commons Lang StringEscapeUtils )。

最后,如果您只想将扩展字符“映射”到 CP 1047 空间,那么我猜您只能逐个字符扫描源字符串并从 Map<Char, Char> 构建结果字符串。 (或 Map<Char, String> ),只要您事先知道您必须处理的所有扩展字符及其所需的等价物/替换物。

关于java - 自动将 Unicode 字符映射到类似的 EBCDIC 1047 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7083479/

相关文章:

java - Android HTTP 请求

java - 缺少 Artifact gnujaxp :gnujaxp:jar:1. 0.0

java - 将字符串拆分为空白数组,但是如果我有一个只有一个单词的字符串怎么办

java - 构建可绘制图像以在 Android 的表面 Canvas 上使用

c# - zip 文件中 unicode 文件名的兼容性问题

haskell - 为什么这个 Haskell 语句在 GHCi 中有效但无法编译?

java - "org.apache.commons.lang.StringEscapeUtils"和 "en dash"

php - 为 htmlentities() 定义默认字符集

php - 令人困惑的mysql字符编码

mysql - UTF-8字符有问题;我看到的不是我存储的