php функция ord проблема ord ("ü") return - PullRequest
0 голосов
/ 07 мая 2020

Я передаю некоторые функции из VB в PHP У меня проблема с использованием метода php - ord .

пример:

ord ("a") = 97 OK
ord ("ü") = 195 NOT OK

Результат ord ("ü") должен быть 50108

в VB AS C ("ü") = 50108 для функции шифрования пароля.

Заранее благодарим за ответы!

1 Ответ

0 голосов
/ 07 мая 2020

Как упоминалось в документации, функция php ord () не может обрабатывать символы Юникода. Кроме того, в документации говорится:

ord - преобразовать первый байт строки в значение от 0 до 255

Вы можете использовать двоичную безопасную функцию mb_ord () вместо этого.

<?php
var_dump(mb_ord('ü', 'ascii')); // => 195
var_dump(mb_ord('ü', 'utf-16') // => 50108

Как вы можете видеть здесь десятичное значение в байтах составляет 195, а строгое десятичное значение - 50108. Все зависит от кодировки символ

...