javascript - PHP Decimal to base64 使用 javascript 给出不同的结果
问题描述
有人可以告诉我为什么 fo base64 结果为 PHP 提供不同的结果
使用 Javascript 可以给出正确的结果
十进制 68 98 7 将显示 RGIH https://v2.cryptii.com/decimal/base64 javascript decimal to base64
为什么在 php 上我看不到相同的结果
使用此代码
$x = floatval('68 98 7'); echo base64_encode($x);
将显示 Njg=
谢谢
解决方案
这是因为您发布的网站不会将小数解释为小数,而是将其解释为 ASCII 对应项的十进制值。如果你想在 PHP 中执行相同的操作,你可以首先将十进制字符串转换为一个数组,方法是在空格上展开,应用于chr
数组的每个条目,然后对内爆数组进行 base64 编码:
$decimals = '68 98 7';
$chars = array_map(fn($decimal) => chr((int)$decimal), explode(' ',$decimals));
echo base64_encode(implode('', $chars));
推荐阅读
- javascript - 如何将移动的 div 限制在包含的 div 内?
- machine-learning - 如何使用 SpaCy Matcher 更快地找到匹配项?
- arrays - 在 Julia 中收集数组的元素
- angular - How to pass component name as argument and receive it in function
- elasticsearch - 带条件的 Elasticsearch 基数聚合
- maven - Maven父子pom使用Azure devops自增版本
- laravel - 如何在 laravel 中获得不同的供应商和他们的数量?
- google-sheets - 有没有办法根据单元格值更改条件格式(只有 2 种颜色)过滤行?
- reactjs - 在 React Table 中,td 中最后一行的下拉列表被隐藏
- ecobee-api - Ecobee API 客户端随机丢失身份验证