一尘不染

UTF-8安全等效于PHP中的ord或charCodeAt()

php

我需要能够使用ord()获得与javascript的charCodeAt()函数相同的值。问题是ord()不支持UTF8。

如何在PHP中将Ą转换为260?我已经尝试了一些uniord函数,但是它们都报告了256个而不是260个。

非常感谢您的帮助!

问候


阅读 343

收藏
2020-05-26

共1个答案

一尘不染

ord()每字节工作一个字节(与大多数PHP标准字符串函数相同-如果不是全部)。您可能需要自己转换,例如借助多字节字符串扩展名:

$utf8Character = 'Ą';
list(, $ord) = unpack('N', mb_convert_encoding($utf8Character, 'UCS-4BE', 'UTF-8'));
echo $ord; # 260
2020-05-26