如何在Unicode中将Unicode字符串编码为类似“ \ xd1 \ x81”的序列?

时间:2019-12-20 21:00:36

标签: php encoding utf-8

我有一串Unicode-сентрября 我知道这是按以下顺序表示的:

\xd1\x81\xd0\xb5\xd0\xbd\xd1\x82\xd1\x8f\xd1\x80\xd0\xb1\xd1\x80\xd1\x8f

这种类型的表达式编码字符是什么,以及如何在PHP中将任何文本从unicode转换为此类序列?

2 个答案:

答案 0 :(得分:1)

前缀“ \ x”表示它是十六进制的。如果删除前缀,您将获得与php中“ bin2hex”函数相同的输出。

我认为这是您要搜索的功能:

https://www.php.net/manual/de/function.bin2hex.php

bin2hex("сентрября") = d181d0b5d0bdd182d180d18fd0b1d180d18f

答案 1 :(得分:0)

这些是Windows-1252 (CP1252)中的字符,其中有些是特殊字符,因此您可以使用iconv function进行解码

  

\x81 = Ñ(拉丁字符)

echo iconv("cp1252", "utf-8//IGNORE", "\x81\xd0\xb5\xd0\xbd\xd1\x82\xd1\x8f\xd1\x80\xd0\xb1\xd1\x80\xd1\x8f");

上面代码的结果:ентÑрбрÑ

注意。此代码通常用于黑客入侵和在您的网站中注入代码。