Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中将utf-8十六进制代码转换为字符_Php_Utf 8 - Fatal编程技术网

在PHP中将utf-8十六进制代码转换为字符

在PHP中将utf-8十六进制代码转换为字符,php,utf-8,Php,Utf 8,我有十六进制代码c2ae,如何将其转换为UTF-8字符:®。我需要一个通用和简单的解决方案为任何十六进制代码 更新:这应该适用于任何utf-8十六进制代码,如d0a6,我肯定你已经找到了解决方案,因为你在4年前提出了这个问题,但我讨厌在谷歌上寻找东西时发现没有答案的问题 function hexStringToString($hex) { return pack('H*', $hex); } 您可以使用以下方法在PHP中创建包含十六进制字符的字符串: $string = "\xc2\x

我有十六进制代码c2ae,如何将其转换为UTF-8字符:®。我需要一个通用和简单的解决方案为任何十六进制代码


更新:这应该适用于任何utf-8十六进制代码,如d0a6,我肯定你已经找到了解决方案,因为你在4年前提出了这个问题,但我讨厌在谷歌上寻找东西时发现没有答案的问题

function hexStringToString($hex) {
    return pack('H*', $hex);
}
您可以使用以下方法在PHP中创建包含十六进制字符的字符串:

$string = "\xc2\xae";
$string2 = "\xd0\xa6";
echo $string;
echo $string2;
它将输出
®β

PHP的语言参考[在标题“双引号”下]

您还可以使用
\22
语法使用八进制字符串,并且在PHP7中,使用
\u
语法添加了unicode代码点支持。这需要在代码周围有
{}
,如:
\u{1000}


快乐编码

真的很奇怪,你能解释一下吗?@danip:pack()和unpack()是PHP的函数,用于将数据推入和移出二进制字符串
H*
表示“任意数量的十六进制八位字节,高Nyble优先”。看。如果他的十六进制代码改为%C2%AE,那么H*的值应该改成什么?@chaos你能告诉我怎么才能反过来做吗?我的意思是给“®”和得到“C2AE”。使用pack函数。(我已经阅读了关于这方面的其他问题和答案,我想知道如何使用神奇的
pack
功能实现这一点)thnx@TechLife
unpack('H*','®')
,结果是
array('c2ae')
。您的答案看起来很有希望,但我仍然不知道如何回音☑ 在它后面加上符号,使其强制显示为纯文本,而不是表情符号。你知道吗?谢谢。不确定您是否还在查找,但是框中的复选标记应该是unicode 2611,因此PHP应该能够使用
echo“\u{2611}”来回显它希望这有帮助!谢谢我最终将它移动到了SCS,就像这样
content:☑\FE0E“
并且需要使用表情符号字体()