Что ж, самое первое , что вам нужно сделать, это использовать согласованное кодирование строк.Я понятия не имею, что будет делать PHP, но "jake".getBytes()
будет использовать любую кодировку по умолчанию для вашей платформы для Java.Это действительно плохая идея .Использование UTF-8, вероятно, было бы хорошим началом, если исходить из того, что PHP справляется со строками Unicode.(Если этого не произойдет, вам нужно выяснить, что он делает и попытаться согласовать их.) В Java используйте перегрузку String.getBytes()
, которая занимает Charset
илитот, который принимает имя Charset
.(Лично мне нравится использовать Charsets.UTF_8
. Guava).
Затем убедить PHP использовать также UTF-8.
Затем вывести результат Java в шестнадцатеричном виде.Я очень сомневаюсь, что код, который вы дали, является реальным кодом, который вы запускаете, иначе я бы ожидал вывод, такой как "[B @ e48e1b".Что бы вы ни делали для преобразования байтового массива в строку, измените его на шестнадцатеричное.