C++ 相当于 JS .charCodeAt()

标签 c++ unicode glib

这可能是非常明显和简单的东西,以至于我尝试搜索它都失败了,但是:使用 glib 你可以获取 Unicode 的用户输入,类似于我可以粘贴此 的方式这里。我希望能够将其转换为等效的十六进制字符串,例如"亜".charCodeAt(0).toString(16) 返回 4e9c 的方式。是否有这样的标准函数、glib 方法或其他库可以做到这一点?

最佳答案

使用 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)));

关于C++ 相当于 JS .charCodeAt(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24643453/

相关文章:

sql-server - SQL 服务器 : Replace Arabic Character in Select Statement

debugging - 如何让 GDB 在 GLib 断言失败时中断?

c++ - 汉明距离直觉

c++ - 没有运算符 "<"匹配这些操作数操作数类型是 : double < my_class

c++ - 使用 SFINAE 让 `std::get` 玩得更好

linux - 有没有办法在 Glib v2.32+ 中设置线程优先级?

c - Glib:我可以重用通过 g_test_queue_free 排队等待释放的指针吗?

c++ - 如何向模板类声明模板友元函数?

Python 的 string.format() 和 Unicode

javascript - javascript 正则表达式中 Unicode 字符类的替换