这可能非常明显和简单,我搜索它的尝试失败了,但是:使用glib你可以接受Unicode的用户输入,类似于我在这里粘贴这个亜
的方式。我希望能够将其转换为其十六进制等效字符串,例如"亜".charCodeAt(0).toString(16)
返回4e9c
的方式。是否有这样一个标准函数来做这个,一个glib的方法,或其他一些库来做它?
答案 0 :(得分:3)
使用glib,您可以使用gunichar
获得单个Unicode代码点(g_utf8_get_char
)。如果您需要非零偏移,只需将g_utf8_offset_to_pointer的返回值传递给g_utf8_get_char
。要转换为字符串,您只需使用g_strdup_printf
。
因此,将您发布的代码翻译为:
g_strdup_printf ("%x", g_utf8_get_char (g_utf8_offset_to_pointer ("亜", 0)));