carrontiger / conversion
十进制数之间的转换。
v1.0.2
2024-04-07 21:53 UTC
Requires
- php: ^7.4|^8.0|^8.1|^8.2
Requires (Dev)
- phpunit/phpunit: ^9.5
README
十进制数之间的转换
转换器比较
示例
元信息
单独示例
二进制数
十进制数到二进制数的转换
use carrontiger\Conversion\BinaryConverter; $binaryConverter = new BinaryConverter(); echo $binaryConverter->fromDecimal(123); // "01111011"
二进制数到十进制数的转换
use carrontiger\Conversion\BinaryConverter; $binaryConverter = new BinaryConverter(); echo $binaryConverter->toDecimal('01111011'); // 123
八进制数
十进制数到八进制数的转换
use carrontiger\Conversion\OctalConverter; $octalConverter = new OctalConverter(); echo $octalConverter->fromDecimal(123); // "173"
八进制数到十进制数的转换
use carrontiger\Conversion\BinaryConverter; $octalConverter = new OctalConverter(); echo $octalConverter->toDecimal('173'); // 123
十六进制数
十进制数到十六进制数的转换
use carrontiger\Conversion\HexadecimalConverter; $hexadecimalConverter = new HexadecimalConverter() echo $hexadecimalConverter->fromDecimal(123); // "7B"
十六进制数到十进制数的转换
use carrontiger\Conversion\HexadecimalConverter; $hexadecimalConverter = new HexadecimalConverter(); echo $hexadecimalConverter->toDecimal('7B'); // 123
不区分大小写的字母十进制数
不区分大小写的字母十进制数编码使用以下36个“数字”
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
十进制数到不区分大小写的字母十进制数的转换
use carrontiger\Conversion\CaseInsensitiveAlphaDecimalConverter; $ciAlphaDecimalConverter = new CaseInsensitiveAlphaDecimalConverter() echo $ciAlphaDecimalConverter->fromDecimal(123); // "3F"
不区分大小写的字母十进制数到十进制数的转换
use carrontiger\Conversion\CaseInsensitiveAlphaDecimalConverter; $ciAlphaDecimalConverter = new CaseInsensitiveAlphaDecimalConverter(); echo $ciAlphaDecimalConverter->toDecimal('3F'); // 123
区分大小写的字母十进制数
区分大小写的字母十进制数编码使用以下62个“数字”
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
十进制数到区分大小写的字母十进制数的转换
use carrontiger\Conversion\CaseSensitiveAlphaDecimalConverter; $alphaDecimalConverter = new CaseSensitiveAlphaDecimalConverter() echo $alphaDecimalConverter->fromDecimal(123); // "1z"
区分大小写的字母十进制数到十进制数的转换
use carrontiger\Conversion\CaseSensitiveAlphaDecimalConverter; $alphaDecimalConverter = new CaseSensitiveAlphaDecimalConverter(); echo $alphaDecimalConverter->toDecimal('1z'); // 123
ASCII数
ASCII数编码使用以下94个“数字”
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!"#$%&'()*+,-./:;<=>?@[\]^_`{\|}~
由于使用了非字母字符,因此将ASCII数嵌入文本或用作纯HTTP查询参数等并不实用。一个用途可能是紧凑地编码大整数。但最重要的是,这是一个可以定义的任意数制示例。
如果您要定义一个数制(通过扩展AbstractDecimalConverter
类),请注意,只能使用单字节字符作为数字。
十进制数到ASCII数的转换
use carrontiger\Conversion\AsciiDecimalConverter; $asciiDecimalConverter = new AsciiDecimalConverter() echo $asciiDecimalConverter->fromDecimal(123); // "1T"
ASCII数到十进制数的转换
use carrontiger\Conversion\AsciiDecimalConverter; $asciiDecimalConverter = new AsciiDecimalConverter() echo $asciiDecimalConverter->toDecimal('1T'); // 123