我的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
我怎样才能得到相同的结果?
在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