简介
GLib提供了字符集转换、字符编码操作和国际化操作函数。
数据结构
字符集转换GIConv的数据结构是不透明结构体,只能作为整体使用,无法单独引用其内部成员。
typedef struct _GIConv *GIConv;
字符编码操作和国际化都是对字符或字符串的操作,没有专门的数据结构类型。
函数列表
字符集转换
gchar * g_convert ()
gchar * g_convert_with_fallback ()
gchar * g_convert_with_iconv ()
GIConv g_iconv_open ()
gsize g_iconv ()
gint g_iconv_close ()
gchar * g_locale_to_utf8 ()
gchar * g_filename_to_utf8 ()
gchar * g_filename_from_utf8 ()
gboolean g_get_filename_charsets ()
gchar * g_filename_display_name ()
gchar * g_filename_display_basename ()
gchar * g_locale_from_utf8 ()
gboolean g_get_charset ()
gchar * g_get_codeset ()
字符编码操作函数(unicode和utf-8)
gboolean g_unichar_validate ()
gboolean g_unichar_isalnum ()
gboolean g_unichar_isalpha ()
gboolean g_unichar_iscntrl ()
gboolean g_unichar_isdefined ()
gboolean g_unichar_isdigit ()
gboolean g_unichar_isgraph ()
gboolean g_unichar_islower ()
gboolean g_unichar_ismark ()
gboolean g_unichar_isprint ()
gboolean g_unichar_ispunct ()
gboolean g_unichar_isspace ()
gboolean g_unichar_istitle ()
gboolean g_unichar_isupper ()
gboolean g_unichar_isxdigit ()
gboolean g_unichar_iswide ()
gboolean g_unichar_iswide_cjk ()
gboolean g_unichar_iszerowidth ()
gunichar g_unichar_toupper ()
gunichar g_unichar_tolower ()
gunichar g_unichar_totitle ()
gint g_unichar_digit_value ()
gint g_unichar_xdigit_value ()
gboolean g_unichar_compose ()
gboolean g_unichar_decompose ()
gsize g_unichar_fully_decompose ()
GUnicodeType g_unichar_type ()
GUnicodeBreakType g_unichar_break_type ()
gint g_unichar_combining_class ()
void g_unicode_canonical_ordering ()
gunichar * g_unicode_canonical_decomposition ()
gboolean g_unichar_get_mirror_char ()
GUnicodeScript g_unichar_get_script ()
GUnicodeScript g_unicode_script_from_iso15924 ()
guint32 g_unicode_script_to_iso15924 ()
#define g_utf8_next_char()
gunichar g_utf8_get_char ()
gunichar g_utf8_get_char_validated ()
gchar * g_utf8_offset_to_pointer ()
glong g_utf8_pointer_to_offset ()
gchar * g_utf8_prev_char ()
gchar * g_utf8_find_next_char ()
gchar * g_utf8_find_prev_char ()
glong g_utf8_strlen ()
gchar * g_utf8_strncpy ()
gchar * g_utf8_strchr ()
gchar * g_utf8_strrchr ()
gchar * g_utf8_strreverse ()
gchar * g_utf8_substring ()
gboolean g_utf8_validate ()
gchar * g_utf8_make_valid ()
gchar * g_utf8_strup ()
gchar * g_utf8_strdown ()
gchar * g_utf8_casefold ()
gchar * g_utf8_normalize ()
gint g_utf8_collate ()
gchar * g_utf8_collate_key ()
gchar * g_utf8_collate_key_for_filename ()
gunichar2 * g_utf8_to_utf16 ()
gunichar * g_utf8_to_ucs4 ()
gunichar * g_utf8_to_ucs4_fast ()
gunichar * g_utf16_to_ucs4 ()
gchar * g_utf16_to_utf8 ()
gunichar2 * g_ucs4_to_utf16 ()
gchar * g_ucs4_to_utf8 ()
gint g_unichar_to_utf8 ()
国际化
#define Q_()
#define C_()
#define N_()
#define NC_()
const gchar * g_dgettext ()
const gchar * g_dcgettext ()
const gchar * g_dngettext ()
const gchar * g_dpgettext ()
const gchar * g_dpgettext2 ()
const gchar * g_strip_context ()
const gchar * const * g_get_language_names ()
gchar ** g_get_locale_variants ()
函数功能分类
字符集转换
// 将字符串从一种字符集转换成另一种字符集
gchar * g_convert ()
gchar * g_convert_with_fallback ()
gchar * g_convert_with_iconv ()
// iconv封装函数
GIConv g_iconv_open ()
gsize g_iconv ()
gint g_iconv_close ()
// 文件名与utf-8的转换
gchar * g_filename_to_utf8 ()
gchar * g_filename_from_utf8 ()
// 获取文件名的字符集
gboolean g_get_filename_charsets ()
// 文件名展示
gchar * g_filename_display_name ()
gchar * g_filename_display_basename ()
// 本地化字符转utf-8字符
gchar * g_locale_from_utf8 ()
gchar * g_locale_to_utf8 ()
// 获取字符集
gboolean g_get_charset ()
// 获取编码集
gchar * g_get_codeset ()
字符编码操作函数(unicode和utf-8)
// 字符类型识别
gboolean g_unichar_validate ()
gboolean g_unichar_isalnum ()
gboolean g_unichar_isalpha ()
gboolean g_unichar_iscntrl ()
gboolean g_unichar_isdefined ()
gboolean g_unichar_isdigit ()
gboolean g_unichar_isgraph ()
gboolean g_unichar_islower ()
gboolean g_unichar_ismark ()
gboolean g_unichar_isprint ()
gboolean g_unichar_ispunct ()
gboolean g_unichar_isspace ()
gboolean g_unichar_istitle ()
gboolean g_unichar_isupper ()
gboolean g_unichar_isxdigit ()
gboolean g_unichar_iswide ()
gboolean g_unichar_iswide_cjk ()
gboolean g_unichar_iszerowidth ()
// 字符大小写转换
gunichar g_unichar_toupper ()
gunichar g_unichar_tolower ()
gunichar g_unichar_totitle ()
// 获取到对应的十进制或十六进制形式的数字
gint g_unichar_digit_value ()
gint g_unichar_xdigit_value ()
gboolean g_unichar_compose ()
gboolean g_unichar_decompose ()
gsize g_unichar_fully_decompose ()
GUnicodeType g_unichar_type ()
GUnicodeBreakType g_unichar_break_type ()
gint g_unichar_combining_class ()
void g_unicode_canonical_ordering ()
gunichar * g_unicode_canonical_decomposition ()
gboolean g_unichar_get_mirror_char ()
GUnicodeScript g_unichar_get_script ()
GUnicodeScript g_unicode_script_from_iso15924 ()
guint32 g_unicode_script_to_iso15924 ()
#define g_utf8_next_char()
gunichar g_utf8_get_char ()
gunichar g_utf8_get_char_validated ()
gchar * g_utf8_offset_to_pointer ()
glong g_utf8_pointer_to_offset ()
gchar * g_utf8_prev_char ()
gchar * g_utf8_find_next_char ()
gchar * g_utf8_find_prev_char ()
// utf-8字符串操作函数
glong g_utf8_strlen ()
gchar * g_utf8_strncpy ()
gchar * g_utf8_strchr ()
gchar * g_utf8_strrchr ()
gchar * g_utf8_strreverse ()
gchar * g_utf8_substring ()
gboolean g_utf8_validate ()
gchar * g_utf8_make_valid ()
gchar * g_utf8_strup ()
gchar * g_utf8_strdown ()
gchar * g_utf8_casefold ()
gchar * g_utf8_normalize ()
gint g_utf8_collate ()
gchar * g_utf8_collate_key ()
gchar * g_utf8_collate_key_for_filename ()
// 编码格式转换
gunichar2 * g_utf8_to_utf16 ()
gunichar * g_utf8_to_ucs4 ()
gunichar * g_utf8_to_ucs4_fast ()
gunichar * g_utf16_to_ucs4 ()
gchar * g_utf16_to_utf8 ()
gunichar2 * g_ucs4_to_utf16 ()
gchar * g_ucs4_to_utf8 ()
gint g_unichar_to_utf8 ()
国际化
// 与gettext功能相似的一组函数
#define Q_()
#define C_()
#define N_()
#define NC_()
const gchar * g_dgettext ()
const gchar * g_dcgettext ()
const gchar * g_dngettext ()
const gchar * g_dpgettext ()
const gchar * g_dpgettext2 ()
const gchar * g_strip_context ()
const gchar * const * g_get_language_names ()
gchar ** g_get_locale_variants ()
函数功能说明及综合演示
略