在PHP中是怎么解析像\xf0\x9f\x98\x89这类十六进制的字符串?

原创 野人  2022-02-20 23:59  阅读 59 次

昨天在折腾自定义评论表情的时候,发现WordPress默认的表情采用的是emoji,然后它的编码是\xf0\x9f\x98\x89,我有点不太理解,然而实践上确实又能正常的输出emoji。

反正折腾的挺久的,也没搞明白,我给大家放个案例吧,有懂的朋友,麻烦告知一声谢谢。

<?php
echo "\xf0\x9f\x98\x89";//?
?>

然后我又搜索了下在前端是怎么解析这个,因为我觉得编程语言应该大部分都是相同的,然后试了下网上的方法,还真给解码出来了。

1、先把字符串中的\x全部替换成%

2、然后进行编码转换,就可以正常显示出来了。

js代码如下

decodeURIComponent("\\xf0\\x9f\\x98\\x89".replace(/\\x/g,"%"));//?

有时候,想搞明白一个知识点,很多的时候这个知识点又关联了好几个知识点,然后一圈下来,时间就这样过去了,而且有些时候还整的还不太明白,太难了,想放弃了,但又能咋办呢?

继续搞吧,干这行就是要不断学习,加油吧。

22.2.24更新

其实这就是语言的特性,也没有必要去纠结研究了,记住有这么样个特性就好了,具体的大家可以看这篇文章《php中的转义字符

本文地址:https://www.yerenwz.com/5739.html
版权声明:本文为原创文章,版权归 野人 所有,欢迎分享本文,转载请保留出处!

发表评论