#If ud >=128 and <=2047 (7FF hex) then UTF-8 is 2 bytes long. $ud = ord('ä'); $byte1 = 192 + int($ud /64); $byte2 = 128 + ($ud % 64); printf "0x%02X 0x%02X\n",$byte1, $byte2;