python中怎么将b、kb、mb、gb单位统一转为mb
时间: 2023-07-10 09:28:23 浏览: 232
可以先将所有的单位转换为字节(以b为单位),然后再将所有的字节转换为MB单位。具体的实现可以参考下面的代码:
```python
def convert_to_mb(size_str):
size = float(size_str[:-2])
unit = size_str[-2:].lower()
if unit == 'b':
size = size / 1024 / 1024
elif unit == 'kb':
size = size / 1024
elif unit == 'gb':
size = size * 1024
return size
```
这个函数接受一个字符串类型的大小值,例如"10.5MB",然后将其转换为以MB为单位的浮点数类型。在函数内部,先将字符串中的数字部分转换为浮点数,然后根据单位进行相应的转换,最后返回转换后的结果。
相关问题
Python写一个函数, 实现将B转换为KB、MB等
可以使用如下的Python函数,将字节单位转换为KB、MB、GB等:
```python
def convert_bytes(byte):
"""
convert bytes to KB, MB, GB, TB, PB
"""
for unit in ['B', 'KB', 'MB', 'GB', 'TB', 'PB']:
if byte < 1024:
return f"{byte:.2f} {unit}"
byte /= 1024
```
使用示例:
```python
>>> convert_bytes(1024)
'1.00 KB'
>>> convert_bytes(1024*1024)
'1.00 MB'
>>> convert_bytes(1024*1024*1024)
'1.00 GB'
>>> convert_bytes(1024*1024*1024*1024)
'1.00 TB'
```
该函数将字节单位转换为KB、MB、GB、TB、PB等,保留两位小数。
中文转为gb2312 编码 python函数
可以使用Python内置的encode()函数将中文字符串转换为GB2312编码的字节串,示例代码如下:
```python
# 定义中文字符串
chinese_str = "中文字符串"
# 将中文字符串转换为GB2312编码的字节串
gb2312_bytes = chinese_str.encode("gb2312")
# 输出转换后的字节串
print(gb2312_bytes)
```
运行结果:
```
b'\xd6\xd0\xce\xc4\xbd\xf8\xd0\xd0\xc9\xfa\xbd\xba'
```
其中,`b`表示这是一个字节串,`\x`后面的两个字符表示一个字节的值,这里的字节串长度为12,因为中文字符在GB2312编码下占用两个字节。