在PHP中将非ASCII字符打印为十六进制

Bin*_*vid 3 php character-encoding non-ascii-characters

如何在PHP中打印一个字符串,其中所有非ASCII字符都被转换为它们的HEX值(例如0x02)并显示?我希望用户知道他们正在输入非ASCII值。我不想剥掉它们。相反,我想显示它,以便他们可以编辑和更正错误。

我想允许用户输入标准选项卡,换行等(也许最高为ASCII 127)。

我尝试过,quoted_printable_encode()但显示==3D。其他非ASCII字符为=[HEXVAL]。等号会造成混乱。

我尝试过,preg_replace('/[[:^print:]]/', '', $string)但最终删除了标签,换行符等。

pow*_*tac 5

substr(json_encode((string)$string), 1, -1)
Run Code Online (Sandbox Code Playgroud)