Acme-ZeroWidth

 view release on metacpan or  search on metacpan

lib/Acme/ZeroWidth.pm  view on Meta::CPAN

use base 'Exporter';

our $VERSION = "0.01";

our @EXPORT_OK = qw(to_zero_width from_zero_width);

sub to_zero_width {
    my ($visible) = @_;

    my $not_visible = join "\x{200d}",
      map { s/1/\x{200b}/g; s/0/\x{200c}/g; $_ }
      map { unpack 'B*', $_ } split //,
      $visible;

    return $not_visible;
}

sub from_zero_width {
    my ($not_visible) = @_;

    return join '', map { pack 'B*', $_ }
      map { s/\x{200b}/1/g; s/\x{200c}/0/g; $_ } split /\x{200d}/, $not_visible;
}

1;
__END__

=encoding utf-8

=head1 NAME

Acme::ZeroWidth - Zero-width fingerprinting



( run in 1.231 second using v1.01-cache-2.11-cpan-3b35f9de6a3 )