#!/usr/bin/perl -n

s/([\xC0-\xDF])([\x80-\xBF])/
sprintf "&#x%X;", ((ord ($1) & 0x1F) << 6
                  | ord ($2) & 0x3F)
/eg;

s/([\xE0-\xEF])([\x80-\xBF])([\x80-\xBF])/
sprintf "&#x%X;", ((ord ($1) & 0x0F) << 12
                  |(ord ($2) & 0x3F) << 6
                  | ord ($3) & 0x3F)
/eg;

print;
