我在做这个工作
$source = mb_convert_encoding('test', "unicode", "utf-8");
$source = unpack('C*', $source);
var_dump($source);
return:
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
对我来说很重要,我编写其他代码进行调试。
我可以做什么来解决这个问题?
“Unicode”并不是真正的编码;它是总体标准的名称,主要由 Microsoft 用作 UTF-16BE 的别名,显然 PHP 也因此支持它。您期望的是 UTF-16LE,因此明确使用它:
$source = mb_convert_encoding('test', 'UTF-16LE', 'UTF-8');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)