String → UTF-8 hex string
String strToHex(String source) { final bytes = utf8.encode(source); return bytes.map((b) => b.toRadixString(16).padLeft(2, "0").toUpperCase()).join(); }