PHP - 将字符串转换为Unicode

4

我正在处理此事。

$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个回答

11

"Unicode"不是一个真正的编码,它是一个总体标准的名称,并且通常被Microsoft用作UTF-16BE的别名。显然,PHP因此支持它。您期望的是UTF-16LE,请明确使用它:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接