我正在将一个外部类从 PHP 转换为 Python,它做了一些技巧,例如:
if ($c1 >= "\xc0" & $c1 <= "\xdf")
[...]
$cc1 = (chr(ord($c1) / 64) | "\xc0");
[...]
$cc2 = ($c1 & "\x3f") | "\x80";
其中 $c1,^$cc1, $cc2 是字符
我刚刚意识到我不能在 python 中使用它,因为字符是字符串,而不是重复地被视为“字符的二进制表示”,其中运算符 & 和 | 说得通...
请问,你会如何以 Pythonic 的方式翻译这些?
>>> c1 = "a"
>>> (c1 & "\x3f") | "\x80"
Traceback (most recent call last):
File "<pyshell#202>", line 1, in <module>
(c1 & "\x3f") | "\x80"
TypeError: unsupported operand type(s) for &: 'str' and 'str'
编辑:实际上,这个 PHP 类似乎不起作用,所以它也不符合我的需要。非常感谢您的帮助。