5

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

更新:这应该适用于任何 utf-8 十六进制代码,如 d0a6

4

3 回答 3

7
function hexStringToString($hex) {
    return pack('H*', $hex);
}
于 2012-10-03T20:35:17.277 回答
1

我敢肯定,自从 4 年前您提出这个问题以来,您一定已经找到了解决方案,但是当我在寻找东西时,我讨厌在 Google 上找到未回答的问题。

您可以使用以下方法在 PHP 中创建包含十六进制字符的字符串:

$string = "\xc2\xae";
$string2 = "\xd0\xa6";
echo $string;
echo $string2;

哪个会输出®Ц

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

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

快乐编码!

于 2017-09-25T08:08:09.447 回答
0

首先,您需要安装 PHP 扩展“mbstring”。我在 Windows 上安装了 XAMPP,默认情况下安装了所有内容。接下来,我们使用以 mb_ 开头的函数,在我们的例子中是 mb_chr()。

例子:

<?php
echo mb_chr(0x1F621);
?>
于 2021-09-03T07:14:41.303 回答