4

一个应用程序希望我将字符串插入为text encoded using hex values in proper coding.,编码为Unicode_No_Compression

例如,对于Sześć siedem正确的 HEX 字符串是0053007A0065015B0107002000730069006500640065006D,
Źdźbło= 01790064017A00620142006F
String with no special chars =0053007400720069006E0067002000770069007400680020006E006F0020007300700065006300690061006C002000630068006100720073

我尝试使用 MySQL HEX()/UNHEX()dechex()PHP,但无法弄清楚如何进行这种转换。有任何想法吗?

4

2 回答 2

10

我猜,您实际上是在查看 UCS-2 编码的十六进制版本。所以:

php > echo strtoupper(bin2hex(iconv('UTF-8', 'UCS-2', 'Źdźbło')));
01790064017A00620142006F
于 2012-07-31T14:34:08.920 回答
0

试试这个:

$out = implode("",array_map(function($x) {return sprintf("%04X",ord($x));},str_split($in)));

一个班轮;)

于 2012-07-31T14:32:19.890 回答