我想要一个翻译例程,它允许我有效地将任何字符翻译成任何其他字符或字符集.显而易见的方法似乎是使用输入字符串中的字符值作为256项转换数组的索引.
给定一个初始数组,其中每个条目设置为其值,例如hex'37'将出现在第56个条目中(允许00成为第一个),然后用户可以替换翻译字符串中所需的任何字符.
eg1我想映射一个字符串,其中"A"表示字母字符,"N"表示数字字符,"B"表示空格字符,"X"表示其他任何字符.因此"SL5 3QW"变成"AANBNAA".
EG2.我想翻译一些字符,例如"œ"(x'9D')到"oe"(x'6F65'),"ß"到"ss","å"到"a"等.
如何从输入字符串中的字符获取数值以将其用作translate数组的索引?
使用Excel中的函数CODE很简单,在IBM汇编程序中很简单,但是我无法在Java中跟踪方法.
这是一个有点偏离主题,但如果你想做一个全面的字符翻译工作,你不能简单地使用String.charAt(int).大于65535的Unicode代码点在Java字符串中表示为两个连续char值.
处理这个问题的干净方法是使用String.codepointAt(int)提取每个代码点,并String.offsetByCodePoints(int, int)逐步执行代码点位置.