在PHP中将utf-8十六进制代码转换为字符
我有十六进制代码c2ae,如何将其转换为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
更新:这应该适用于任何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@TechLifeunpack('H*','®')
,结果是array('c2ae')
。您的答案看起来很有希望,但我仍然不知道如何回音☑ 在它后面加上符号,使其强制显示为纯文本,而不是表情符号。你知道吗?谢谢。不确定您是否还在查找,但是框中的复选标记应该是unicode 2611,因此PHP应该能够使用echo“\u{2611}”来回显它代码>希望这有帮助!谢谢我最终将它移动到了SCS,就像这样content:☑\FE0E“
并且需要使用表情符号字体()