Perl6 module Uni63
Clone or download
Latest commit b6499cb Apr 28, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib use whitespace consistently Dec 4, 2015
t release v0.2.0 Dec 4, 2015
.gitignore release v0.2.0 Dec 4, 2015
.travis.yml let travis use panda Oct 31, 2015
LICENSE add meta files May 5, 2015
META6.json is now META6.json Apr 27, 2017
Makefile fix `make t-xx` on windows Oct 11, 2015 add travis status to Oct 31, 2015

Uni63 Build Status

A Unicode encoding scheme suitable for name mangling


    use Uni63;

    my $enc = Uni63::enc('Leberkäse');
    my $dec = Uni63::dec($enc);


The 62 alphanumeric ASCII characters encode themselves. A 63rd character _ is used to mark escape sequences.

The escape character is followed by a single digit, indicating the number of characters that encode the next Unicode codepoint. Contrary to the module name, the codepoint is encoded in base-62 with digits 0..9, a..z, A..Z.

The decoder does not validate its input:

  • An invalid character or an underscore that is not followed by a valid escape sequence will be passed through, thus re-encoding a decoded string may not round trip.

  • The numeric value of any escape sequence that follows the given scheme will be passed on to chr, even if the value lies outside the range of Unicode codepoints.

Bugs and Development

Development happens at GitHub. If you found a bug or have a feature request, use the issue tracker over there.

Copyright and License

Copyright (C) 2015 by

Distributed under the Boost Software License, Version 1.0