phpy.String
字符串类型相当于 Python
中的字节数组。内容中不包含编码信息,并且可能会存在二进制内容。
与 Python
的 str
类型并不等同。phpy
底层提供了类似于 str
风格的 API
来操作字符串。
s1 = phpy.String("hello world")
s2 = phpy.call("random_bytes", 128)
print(len(s1))
print(len(s2))
# 追加 str
s1 += "hello"
# 追加 bytes
s1 += b"world"
# 追加另外一个 phpy.String
s1 += phpy.String(", php is the best program language")
# 返回 True
print(s1.__contains__("php"))
# 返回 False
print(s1.__contains__("java"))
s3 = phpy.String("hello")
if s3 == "hello":
print("==")
print(s1[2])
请注意 phpy.String
返回的格式与 bytes
一致,是一个 uchar
。
但与 str
不同,str
会处理 UTF-8
编码返回一个 UTF-8
的宽字符,例如 str('中国')[0]
返回的是 中
。
print(bytes(s1))
请注意这里将产生一次内存复制