字符掩码,或在 vala 中获取字符大小?

Char mask, or get char size in vala?

我需要一个字符大小的所有位都为 1,而我知道在 C 中有 limits.h,而 vala 有 int.MAX,我不确定字符大小。

我怎么能找到它 - 一个字符大小 - 并确定生成我的位掩码,而不是使用 0xFFFF?

在Vala中,char是一个字节。这是 VAPI 声明:

[IntegerType (rank = 2, min = 0, max = 127)]
public struct char {

apmasell 是对的,但我不太喜欢他的回答。如果你想要 char 的大小(以字节为单位),你应该使用 sizeof(char) 而不是依赖于 glib vapi 中的那个值保持不变。

char.MAX,如果存在,则不会是 0xff (255),而是 0x7f (127),但这不是掩码的正确值,因为。从实际的角度来看,假设 0xff 是正确的值可能是安全的,但如果你想要安全,你可以只使用 ~((char) 0).