#!/usr/bin/perl -n

s/([\xC0-\xDF])([\x80-\xBF])/
"&#${\(((ord ($1) & 0x1F) << 6
       | ord ($2) & 0x3F))};"
/eg;

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

print;
