我有十六进制代码 c2ae,如何将其转换为 UTF-8 字符:®。对于任何十六进制代码,我都需要一个通用且简单的解决方案。
更新:这应该适用于任何 utf-8 十六进制代码,如 d0a6
function hexStringToString($hex) {
return pack('H*', $hex);
}
我敢肯定,自从 4 年前您提出这个问题以来,您一定已经找到了解决方案,但是当我在寻找东西时,我讨厌在 Google 上找到未回答的问题。
您可以使用以下方法在 PHP 中创建包含十六进制字符的字符串:
$string = "\xc2\xae";
$string2 = "\xd0\xa6";
echo $string;
echo $string2;
哪个会输出®Ц
。
PHP 的语言参考[在标题“双引号”下]。
您还可以使用\22
语法使用八进制字符串,并且在 PHP7 中使用\u
语法添加了 unicode 代码点支持。这需要{}
围绕代码,如:\u{1000}
.
快乐编码!
首先,您需要安装 PHP 扩展“mbstring”。我在 Windows 上安装了 XAMPP,默认情况下安装了所有内容。接下来,我们使用以 mb_ 开头的函数,在我们的例子中是 mb_chr()。
例子:
<?php
echo mb_chr(0x1F621);
?>