函数
GLibstr_hash
声明 [src]
guint
g_str_hash (
gconstpointer v
)
描述 [src]
将字符串转换为哈希值。
此函数实现一些时候由丹尼尔·伯恩斯坦发布到“comp.lang.c”的“djb”哈希。32 位无符号哈希值从 5381 起始,对于字符串中的每个字节“c”,都会更新:hash = hash * 33 + c
。此函数使用每个字节的带符号值。
当在 GHashTable
中使用非 NULL
字符串作为键时,可以将它传递给 g_hash_table_new()
作为 hash_func
参数。
请注意,此函数可能不适用于所有用例。例如,它会产生一些哈希冲突,字符串的长度短至 2。