EBCDIC编码的Java Java比较器
我遇到了一个需要将字符串转换为EBCDIC编码然后对其进行排序的要求。我们需要使用EBCDIC对其进行排序,因为字符串必须放在大型机中。我将排序的字符串只有大写字母和整数。
我用谷歌搜索了一下,然后发现了来自IBM的链接,该
链接按顺序列出了字符
我意识到,EBCDIC排序与常规java字典排序完全相反(至少对于我要处理的数据类型而言)。
我的问题是我的认识对吗?如果不是我想念的东西?或者是否有任何可用于EBCDIC编码的Java比较器。
回答:
由于char类型在Java EBCDIC字符串中隐式为UTF-16,因此需要将其作为Java字节数组进行比较。
例:
Charset encoding = Charset.forName("IBM1047"); Comparator<String> encComparator = (s1, s2) ->
encoding.encode(s1)
.compareTo(encoding.encode(s2));
以上是 EBCDIC编码的Java Java比较器 的全部内容, 来源链接: utcz.com/qa/411017.html