函数

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。

参数

v

类型: gconstpointer

一个字符串键。

数据由函数的调用者拥有。

返回值

类型: guint

对应于键的哈希值。