我正在将一些函数从VB传递给PHP,我在使用php - ord方法时遇到问题。
例子:
ord ("a") = 97 OK ord ("ü") = 195 NOT OK
ord ("ü")的结果应该是50108
在VB中,ASC ("ü") = 50108是用来加密密码的函数。
提前感谢您的回答!
发布于 2020-05-07 20:05:51
正如文档中提到的,php函数ord()不能处理unicode字符。除此之外,文件上说:
ord -将字符串的第一个字节转换为0到255之间的值。
您可以使用二进制安全函数ord()代替。
<?php var_dump(mb_ord('ü', 'ascii')); // => 195 var_dump(mb_ord('ü', 'utf-16') // => 50108
如您所见,这里的十进制值(以字节为单位)为195,而严格的十进制值为50108。这都取决于字符的编码。
https://stackoverflow.com/questions/61665002
相似问题