php脚本,解码base64脚本
时间: 2024-10-11 12:06:27 浏览: 26
PHP中,你可以使用内置函数`base64_decode()`来解码Base64编码的数据。这个函数接受一个字符串作为输入,如果它是有效的Base64编码,它将返回原始二进制数据;如果不是,则会返回false。
下面是一个简单的示例:
```php
<?php
$encoded_string = "SGVsbG8gV29ybGQ="; //这是一个 Base64 编码的字符串
$decoded_data = base64_decode($encoded_string);
if ($decoded_data !== false) {
echo "Decoded data: " . $decoded_data;
} else {
echo "Invalid Base64 string or unable to decode.";
}
?>
```
在这个例子中,`$encoded_string`会被解码成"Hello World"。如果输入不是合法的Base64编码,`base64_decode()`函数将返回false,我们可以通过检查返回值是否为假来处理这种情况。
相关问题
python脚本批量解码base64
可以使用Python内置的base64模块来实现批量解码base64。以下是一个示例脚本:
```python
import base64
import glob
# 遍历当前目录下所有扩展名为.txt的文件
for filename in glob.glob("*.txt"):
with open(filename, "rb") as f:
# 读取文件内容并进行base64解码
decoded = base64.b64decode(f.read())
# 将解码后的内容写回文件
with open(filename, "wb") as f:
f.write(decoded)
```
在这个示例中,我们使用了Python内置的glob模块来遍历当前目录下所有扩展名为.txt的文件。然后,我们打开每个文件并使用base64.b64decode()函数对其内容进行解码。最后,我们将解码后的内容写回原文件。
c语言base64解码脚本
好的,以下是一个简单的C语言实现的Base64解码脚本:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
const char base64_table[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
int base64_decode(const char *input, unsigned char *output) {
int i, j, len = strlen(input), padding = 0;
unsigned char a, b, c, d;
if (len % 4 != 0) {
return -1;
}
if (input[len - 1] == '=') {
padding++;
}
if (input[len - 2] == '=') {
padding++;
}
for (i = 0, j = 0; i < len; i += 4, j += 3) {
a = strchr(base64_table, input[i]) - base64_table;
b = strchr(base64_table, input[i + 1]) - base64_table;
c = strchr(base64_table, input[i + 2]) - base64_table;
d = strchr(base64_table, input[i + 3]) - base64_table;
output[j] = (a << 2) | (b >> 4);
if (c != 64) {
output[j + 1] = ((b & 15) << 4) | (c >> 2);
}
if (d != 64) {
output[j + 2] = ((c & 3) << 6) | d;
}
}
return j - padding;
}
int main() {
const char *input = "SGVsbG8gV29ybGQh";
unsigned char output[100];
int len = base64_decode(input, output);
printf("%.*s\n", len, output);
return 0;
}
```
这个脚本可以将Base64编码的字符串解码成原始的二进制数据,并输出到一个缓冲区中。你可以根据需要修改缓冲区的大小。
阅读全文