php base64_decode 奇怪的输出

标签 php base64

我有一个来自 base64_decode 函数的非常奇怪的输出。输出是一个长度为 18 的字符串,但是当我 var_dump 字符串时......长度是 32! 这会影响我为这个字符串应用的 preg_match 函数。 知道为什么吗?

$input_line = base64_decode('OQA3ADgAMAA5ADgAMgA3ADQAMwA2ADAANwA5ADAAMAAwADAA');
var_dump($input_line);

输出

string(36) "978098274360790000"

问候

最佳答案

该字符串有很多不可打印的字符(NUL 字节)。你可以通过像 xxd 这样的程序传递值来看到这一点:

0000000: 3900 3700 3800 3000 3900 3800 3200 3700  9.7.8.0.9.8.2.7.
0000010: 3400 3300 3600 3000 3700 3900 3000 3000  4.3.6.0.7.9.0.0.
0000020: 3000 3000                                0.0.

关于php base64_decode 奇怪的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19390714/

相关文章:

javascript - React-Native:将图像 url 转换为 base64 字符串

php - 让我的网站更安全,我使用的 password_hash 是否正确?

php - MySQL SELECT 树父 ID

php - 您可以使用 PHP 的内置 Curl 函数设置要下载的最大文件大小吗?

java - 无法将 BASE64 解码为 Selenium 2 中的图像文件

android - base64 无效 key 异常 : Key length not 128/192/256 bits

php - Bluehost远程访问数据库

php - MySql:从另一个表获取产品名称

java - 当我使用 String 构造函数将 byte[] 转换为 String 时,SonarCloud 代码有异味

python - Base64 图像比较