python 判断字符串是否是二进制
时间: 2023-11-25 09:05:01 浏览: 35
字符串的方法有很多,可以使用正则表达式、isdigit()等方法。如果你想要一个简单的方法,在Python3中可以使用isascii()函数来判断字符串是否只包含二进制字符。示例如下:
```
string = "1100110011110001" # 待判断的字符串
if string.isascii():
print("是二进制字符串")
else:
print("不是二进制字符串")
```
这个方法的原理是,二进制字符串只包含ASCII码中的0和1,因此如果一个字符串只包含ASCII码中的字符,那么它就很有可能是一个二进制字符串。
相关问题
python 怎么判断数据是否是16进制的
在 Python 中,可以使用 `binascii` 模块来进行 16 进制字符串与二进制数据之间的转换。要判断一个字符串是否是 16 进制,可以使用 `binascii` 模块的 `unhexlify()` 方法将字符串转换成二进制,如果转换成功,则说明该字符串是 16 进制,否则不是。下面是一个示例代码:
```python
import binascii
def is_hex(s):
try:
binascii.unhexlify(s)
return True
except binascii.Error:
return False
# 测试
print(is_hex('1234ABCD')) # True
print(is_hex('1234ABCDZ')) # False
```
在上面的代码中,`is_hex()` 函数接受一个字符串作为参数,使用 `binascii.unhexlify()` 方法将其转换成二进制数据,如果转换成功则返回 `True`,否则返回 `False`。
python 二进制字符串中所有1索引
可以使用 `enumerate()` 函数来遍历二进制字符串中的每个字符,然后判断该字符是否为1,若为1则将该字符的索引位置加入到结果列表中。示例代码如下:
```
binary_str = '10011' # 二进制字符串
ones_indexes = [i for i, c in enumerate(binary_str) if c == '1'] # 找出所有1的索引位置
print(ones_indexes)
```
输出结果为:`[0, 2, 4]`,表示二进制字符串 '10011' 中所有1的索引分别为0、2、4。