# assuming 5.8.1 or later: perl -C9 -pe 's/([^[:ascii:]])/sprintf("\\x{%.4x}",ord $1)/eg' sometext.utf8 # that is, leave ascii data as-is, convert wide characters to "\x{HHHH}"