【问题标题】:Convert UTF8 to hexadecimal in PHP [closed]在 PHP 中将 UTF8 转换为十六进制 [关闭]
【发布时间】:2020-06-29 18:24:50
【问题描述】:

我尝试在 PHP 中将 UTF8 转换为十六进制。

UTF8 为:�9(512�#

在十六进制中,这应该是:0xef 0xbf 0xbd 0x18 0x39 0x28 0x07 0x02 0x35 0x01 0x13 0x31 0x32 0x0e 0xef 0xbf 0xbd 0x23 0x08

有人可以帮助我吗? 谷歌没有帮助我 xD

提前致谢!

【问题讨论】:

标签: php utf-8 hex


【解决方案1】:
$string = '�9(512�#';
for ($i = 0; $i < strlen($string); $i++) {
echo str_pad(dechex(ord($string[$i])), 4, '0x0', STR_PAD_LEFT);
}

但是,您的 UTF8 编码似乎来自您将其转换为字符串以查看的字节数组或二进制文件,而现在您希望它是十六进制的。打个比方,这就像有一个二进制数字,然后将其转换为基数 10,然后将基数 10 转换为基数 64,此时您可以将二进制直接转换为基数 64。跳过中间编码,直接使用您想要的。

我只能猜测您是如何到达这里的以及您为什么想去那里,但是,如果您尝试将数据转换为可以通过 POST 传输的表单,或者转换为某种伪易读的形式-寻找字符串,尝试使用 URL 编码直接使用 base-64。

echo base64_encode($thedatathatgaveyou�9512�#);

【讨论】:

  • 谢谢!!!!先生,您是英雄!我从传感器获得了这些数据,并且需要十六进制的值来做进一步的计算
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-04
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
  • 2013-10-02
  • 1970-01-01
相关资源
最近更新 更多