使用PHP将混合字符串转换为UTF16

Geo*_* D. -2 unicode encoding

我在PHP中有一个字符串,如下所示:

INPUT ="Γιώργοανστείλειςαυτόακριβώς(:

它是一个混合字符串,同时包含GREEK和LATIN字符.我希望将给定字符串中的所有字符转换为此字符串

输出= 0022039303B903CE03C103B303BF002003B103BD002003C303C403B503AF03BB03B503B903C2002003B103C503C403CC002003B103BA03C103B903B203CE03C200200028003A

如何将输入转换为此类输出?

Álv*_*lez 5

我花了一段时间才弄清楚,但似乎你想要做的是将UTF-8字符串转换为其UTF-16表示的大写二进制转储.这很简单:

$input = '"?????? ?? ???????? ???? ??????? (:';
$output = mb_strtoupper(bin2hex(mb_convert_encoding($input, 'UTF-16BE', 'UTF-8')));
Run Code Online (Sandbox Code Playgroud)

BE后缀表示大端,这似乎根据你的例子是预期的字节顺序.