Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

重构为使用PHP直接操作二进制的方式 #18

Open
DongyunLee opened this issue Aug 17, 2020 · 9 comments
Open

重构为使用PHP直接操作二进制的方式 #18

DongyunLee opened this issue Aug 17, 2020 · 9 comments
Assignees
Labels
增强 新特性或功能需求

Comments

@DongyunLee
Copy link
Owner

请描述下你需要的功能相关的问题
现在的计算方式太慢了,需要把把二进制转化成可读的十进制数字(1、0)然后再算

请描述下你预期的解决方案
PHP直接操作二进制

额外信息
整个项目全部重构,精简代码

@DongyunLee DongyunLee added the 增强 新特性或功能需求 label Aug 17, 2020
@DongyunLee DongyunLee self-assigned this Aug 17, 2020
@DongyunLee DongyunLee added this to the v1.x版本相关问题 milestone Aug 17, 2020
@lizhichao
Copy link

lizhichao commented Sep 11, 2020

我就喜欢造轮子的人。不过php有位运算符,不知道你说的痛点是什么?

var_dump(('aa' | 'bbb') === 'ccb');

@DongyunLee
Copy link
Owner Author

我就喜欢造轮子的人。不过php有位运算符,不知道你说的痛点是什么?

var_dump(('aa' | 'bbb') === 'ccb');

之前纠结于字符串的左移右移和补位,现在已经解决了,是我学艺不精了。

感谢关注!

@lizhichao
Copy link

大佬把 sm2 sm3 sm4 都加上吧

@DongyunLee
Copy link
Owner Author

我就喜欢造轮子的人。不过php有位运算符,不知道你说的痛点是什么?

var_dump(('aa' | 'bbb') === 'ccb');

PHP位级别的左移右移都是针对int的,根上都是对于数值的➗进制运算。字符串没法直接左移右移。
所以PHP没法直接操作位,比如给字符串添加一个1bit的0b1,只能从字符级别,通过ascii进行中转。

@lizhichao
Copy link

lizhichao commented Sep 21, 2020

我就喜欢造轮子的人。不过php有位运算符,不知道你说的痛点是什么?

var_dump(('aa' | 'bbb') === 'ccb');

PHP位级别的左移右移都是针对int的,根上都是对于数值的➗进制运算。字符串没法直接左移右移。
所以PHP没法直接操作位,比如给字符串添加一个1bit的0b1,只能从字符级别,通过ascii进行中转。

$str = 'dddd';
$str.= pack('C',1);

嗯 可以加个好友沟通

@lizhichao
Copy link

lizhichao commented Jan 27, 2021

@DongyunLee https://github.com/lizhichao/sm 看了看算法 重写了一个 支持文件

@DongyunLee
Copy link
Owner Author

@DongyunLee https://github.com/lizhichao/sm 看了看算法 重写了一个 支持文件

拜读了大佬的项目,学到了很多,感谢 👍

@DongyunLee
Copy link
Owner Author

我就喜欢造轮子的人。不过php有位运算符,不知道你说的痛点是什么?

var_dump(('aa' | 'bbb') === 'ccb');

PHP位级别的左移右移都是针对int的,根上都是对于数值的➗进制运算。字符串没法直接左移右移。
所以PHP没法直接操作位,比如给字符串添加一个1bit的0b1,只能从字符级别,通过ascii进行中转。

$str = 'dddd';
$str.= pack('C',1);

嗯 可以加个好友沟通

没找到您的联系方式,可以给个邮箱或者给我profile中的邮箱发个邮件吗?

@lizhichao
Copy link

我就喜欢造轮子的人。不过php有位运算符,不知道你说的痛点是什么?

var_dump(('aa' | 'bbb') === 'ccb');

PHP位级别的左移右移都是针对int的,根上都是对于数值的➗进制运算。字符串没法直接左移右移。
所以PHP没法直接操作位,比如给字符串添加一个1bit的0b1,只能从字符级别,通过ascii进行中转。

$str = 'dddd';
$str.= pack('C',1);

嗯 可以加个好友沟通

没找到您的联系方式,可以给个邮箱或者给我profile中的邮箱发个邮件吗?

qq群 731475644

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
增强 新特性或功能需求
Projects
None yet
Development

No branches or pull requests

2 participants