字符串编码格式名称

时间:2016-08-01 07:52:34

标签: php string encoding hex octal

考虑php中的以下语句的输出

hex2bin(dechex(4112))

此输出

"\020\020"

我已经明白这是上面十进制值(4112 - > 0x1010)的十六进制表示的八进制表示,每个八进制部分都是反斜杠之间的东西。因此,三个八进制数字用于表示两个十六进制数字。这里0x10转换为八进制的020,因此\020\020

获得0x1010

但这种编码的名称是什么?它从何而来?在互联网上搜索这个没什么帮助

为什么以下声明失败?

hex2bin(dechex(123123))

1 个答案:

答案 0 :(得分:1)

您将数字编码为二进制数据,使得最重要的字节成为第一位。这称为big-endian representation.

使用您的方法编码123123失败,因为dechex产生奇数个数字。您需要两个十六进制数字来生成一个字节,因此hex2bin要求输入字符串具有偶数长度。