PHP - 将字符串转换为unicode

时间:2014-09-09 10:48:41

标签: php unicode converter

我正在努力

$source = mb_convert_encoding('test', "unicode", "utf-8");
$source = unpack('C*', $source);
var_dump($source);

返回:

array (size=8)
  1 => int 0
  2 => int 116
  3 => int 0
  4 => int 101
  5 => int 0
  6 => int 115
  7 => int 0
  8 => int 116

但我希望这次回归:

array (size=8)
  1 => int 116
  2 => int 0
  3 => int 101
  4 => int 0
  5 => int 115
  6 => int 0
  7 => int 116
  8 => int 0

我想在openssl函数中使用此返回进行加密。只是$source对我很重要,我会编写其他代码进行调试。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:6)

“Unicode”不是真正的编码;它是总体标准的名称,并且主要由Microsoft用作UTF-16BE的别名,显然PHP支持它就是出于这个原因。你期望的是UTF-16LE,所以明确地使用它:

$source = mb_convert_encoding('test', 'UTF-16LE', 'UTF-8');