[
https://issues.apache.org/jira/browse/LANG-1266?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15486639#comment-15486639
]
ASF GitHub Bot commented on LANG-1266:
--------------------------------------
Github user coveralls commented on the issue:
https://github.com/apache/commons-lang/pull/188
[](https://coveralls.io/builds/7858389)
Coverage decreased (-0.02%) to 93.559% when pulling
**c1a5a638a3132f2048bb4113181460c3c660c2a8 on eyala:LANG-1266** into
**dad86bc0a29689fd29bf03b382a39621718e8b05 on apache:master**.
> Add alphabet converter
> ----------------------
>
> Key: LANG-1266
> URL: https://issues.apache.org/jira/browse/LANG-1266
> Project: Commons Lang
> Issue Type: New Feature
> Components: lang.text.*
> Reporter: Eyal Allweil
>
> (as described in [the mailing
> list|http://mail-archives.apache.org/mod_mbox/commons-dev/201609.mbox/%[email protected]%3e])
> This is a utility class I wrote for converting from one alphabet to another -
> for example, from unicode to latin, without using some of the chars in latin.
> The usage looks like this:
> {code}
> Set<Character> originals; // a, b, c, d
> Set<Character> encoding; // 0, 1, d
> Set<Character> doNotEncode; // d
> AlphabetConverter ac = AlphabetConverter.createConverter(originals, encoding,
> doNotEncode);
> ac.encode("a"); // 00
> ac.encode("b"); // 01
> ac.encode("c"); // 0d
> ac.encode("d"); // d
> ac.encode("abcd"); // 00010dd
> {code}
> Of course, x.equals(ac.decode(ac.encode(x))) should always be true.
> The implementation provided makes the encodings of fixed length, other than
> the "do not encode" chars, which remain as they are (length one).
> In addition, in order to make it easier to preserve the encoding scheme, I've
> added a human-readable toString implementation, and a constructor that can
> recreate an AlphabetConverter from the encoding map, such that:
> {code}
> AlphabetConverter ac;
> ac.equals(AlphabetConverter.createConverterFromMap(ac.getOriginalToEncoded()));
> // always should be true
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)