如何获得与java函数相同的结果getBytes()使用PHP?

时间:2016-10-11 11:42:38

标签: java php

我的Java代码是这样的:

public void trans() {
    try {
        byte[] test = "测试".getBytes("utf-8");
        for(byte b:test){
            System.out.println(b);
        }
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }
}

这打印:

-26
-75
-117
-24
-81
-107

现在我希望使用PHP获得相同的结果,我的代码是这样的:

function getUnicodeFromOneUTF8($word) {
$arr = str_split($word);
foreach ($arr as $value)
    echo hexdec(ord($value)). '</br>';
}
getUnicodeFromOneUTF8('测试');

但它打印出来:

230
181
139
232
175
149

我怎样才能得到相同的结果?

1 个答案:

答案 0 :(得分:0)

在PHP中,您可能希望将此函数用于

$result = mb_encode_numericentity('测试test', [0, 0x10FFFF, 0, 0x10FFFF], 'UTF-8');
echo htmlentities($result);

http://php.net/manual/en/function.mb-encode-numericentity.php