【发布时间】:2019-01-14 02:01:58
【问题描述】:
比如说,你有一个代表一个 8 位字节的 8 个字符的字符串;即'00000000' (0) 并且您想要翻转一个位,使其成为'00010000' (16)。最好或最优雅的方法是什么?
【问题讨论】:
-
使用
int代替str?如果您必须使用str,则转换为int并返回仍然是最直接的,因为带有文本0和1的逻辑不如使用实际位简单。 -
使用蝴蝶的翅膀。 xkcd.com/378
-
"Bitstring" 并不意味着“字面上是一个字符串”,因为它里面有字符串这个词。这是一种更高级别的讨论方式,无论您选择实现它们。一个实际的字符串可以作为实现,但它不是很好。
标签: string python-3.x bit-manipulation bits bitstring