我有一个十六进制码为c2ae,如何将其转换为UTF-8字符:®。我需要一个通用且简单的解决方案来转换任何十六进制码。
更新:这适用于任何UTF-8十六进制码,例如d0a6。
function hexStringToString($hex) {
return pack('H*', $hex);
}
$string = "\xc2\xae";
$string2 = "\xd0\xa6";
echo $string;
echo $string2;
这将输出®Ц
。
PHP的语言参考文献[在标题"Double Quoted"下面可找到]。
您还可以使用八进制字符串,使用\22
语法; PHP7中添加了Unicode代码点支持,使用\u
语法。这个需要在代码周围加上{}
,如:\u{1000}
。
愉快编码!
content: "☑\FE0E"
,需要使用 EmojiSymbols 字体(https://dev59.com/ZFwY5IYBdhLWcg3wLFOw#rtnonYgBc1ULPQZFk6rH)。 - Ryan首先,您需要安装PHP扩展“mbstring”。我在Windows上安装了XAMPP,并且默认情况下安装了所有内容。
接下来,我们使用以mb_开头的函数,在我们的例子中是mb_chr()。
示例:
<?php
echo mb_chr(0x1F621);
?>
pack
函数来实现这一点)谢谢。 - TechLifeunpack('H*', '®')
,结果为array('c2ae')
。 - chaos