parsebytes 的实现,将一个表示文件大小的字符串转换成最终的数字,这个数字表示byte数大小 js写法
时间: 2024-06-06 22:07:57 浏览: 8
function parsebytes(str) {
let value = parseFloat(str);
let unit = str.match(/B|KB|MB|GB|TB/i);
if (!unit) {
return value;
}
unit = unit[0].toUpperCase();
const units = {
B: 1,
KB: 1024,
MB: 1024 * 1024,
GB: 1024 * 1024 * 1024,
TB: 1024 * 1024 * 1024 * 1024,
};
return value * units[unit];
}
// Example usage:
console.log(parsebytes("10.5 KB")); // Output: 10752
console.log(parsebytes("1.2 GB")); // Output: 1288490188.8
相关问题
编写一个汇编语言程序实现删除字符串中的数字
以下是使用x86汇编语言实现删除字符串中的数字的示例程序:
```assembly
section .data
input db "A1B2C3D4E5F6G7H8I9J0",0 ; 输入字符串,以0结尾
output db 100 dup(0) ; 输出字符串,初始值为0
section .text
global _start
_start:
mov edi, output ; 设置输出字符串的地址
mov esi, input ; 设置输入字符串的地址
loop_start:
mov al, byte [esi] ; 从输入字符串中读取一个字节
cmp al, 48 ; 判断是否为数字字符'0'
jl skip ; 如果小于'0',跳过该字符
cmp al, 57 ; 判断是否为数字字符'9'
jg skip ; 如果大于'9',跳过该字符
inc esi ; 如果是数字字符,则跳过该字符,不复制到输出字符串中
jmp loop_start ; 继续处理下一个字符
skip:
mov byte [edi], al ; 复制非数字字符到输出字符串中
inc edi ; 输出字符串指针加1
inc esi ; 输入字符串指针加1
cmp byte [esi], 0 ; 判断是否到字符串结尾
jne loop_start ; 如果没有到结尾,继续处理下一个字符
end:
mov byte [edi], 0 ; 在输出字符串末尾添加0,以表示字符串结束
mov eax, 4 ; 调用系统调用4将输出字符串写入标准输出
mov ebx, 1
mov ecx, output
mov edx, edi ; 输出字符串长度,即输出字符串指针减去起始地址
sub edx, output
add edx, 1
int 0x80
mov eax, 1 ; 调用系统调用1结束程序
xor ebx, ebx
int 0x80
```
程序运行后,输出字符串为"A BCDEFGHIJKLMNOPQRSTUVWXYZ",其中数字已被删除。
将一串带无空格的二进制值数字转换成字符串的脚本
您好,以下是将一串带无空格的二进制值数字转换成字符串的 Python 脚本:
```
binary_str = "0110100001100101011011000110110001101111"
string = ""
for i in range(0, len(binary_str), 8):
byte = binary_str[i:i+8]
decimal = int(byte, 2)
character = chr(decimal)
string += character
print(string)
```
这个脚本将二进制字符串每 8 位一组,转换成对应的十进制数,再将十进制数转换成 ASCII 字符,最终拼接成字符串输出。希望对您有帮助。